본문 바로가기
VisualStudio.C++.C#/코딩팁,함수활용,단편

winapi . 100나노초 UTC 시각 . GetSystemTimePreciseAsFileTime .

by i.got.it 2026. 1. 22.

 

 

GetSystemTimePreciseAsFileTime

 

 

로컬 시간 독립성: 로컬 시간대나 일광 절약 시간제(DST)의 영향을 받지 않는 절대적인 UTC 시간 반환.

 

고정밀: 일반적인 GetSystemTime이 10~15ms 단위로 업데이트되는 것과 달리, 이 함수는 하드웨어 카운터(QPC)와 연동되어 0.1μs(=100나노초) 의 정밀도.

 

단위: 1601년 1월 1일 UTC 0시부터의 경과 시간을 100나노초 단위로 반환. 마이크로초 단위로 받으려면 나누기 10.

지원운영체제 : windows 8 이후 Windows Server 2012 이후 

 

C++ 코드예 


#include <windows.h>
#include <iostream>

long long GetUtcNowMicroseconds() {
    FILETIME ft;
    // 1. 고정밀 UTC 시스템 시간 가져오기 (100나노초 단위). thread safe
    GetSystemTimePreciseAsFileTime(&ft);

    // 2. 64비트 정수로 변환
    ULARGE_INTEGER uli;
    uli.LowPart = ft.dwLowDateTime;
    uli.HighPart = ft.dwHighDateTime;

    // 3. 100나노초 단위를 마이크로초로 변환 (10으로 나눔)
    return uli.QuadPart / 10;
}

int main() {
    std::cout << "현재 UTC0 마이크로초: " << GetUtcNowMicroseconds() << std::endl;
    return 0;
}

 

C++ 실전 함수로 정리한것. 

#include <windows.h>
#include <stdint.h>


namespace Cy::Time {

	inline static int64_t GetUTCMicroSec() // Windows 8 / Server 2012 이상 필수
	{
        FILETIME ft;
        GetSystemTimePreciseAsFileTime(&ft);// 고정밀 UTC 시스템 시각 가져오기
        // 1. FILETIME의 주소를 uint64_t 포인터로 캐스팅하여 한 번에 읽음.
        // FILETIME은 메모리상에 Low(4byte), High(4byte) 순으로 있어 64비트 정수와 호환됨
        uint64_t rawTicks = *reinterpret_cast<const uint64_t*>(&ft);
        return static_cast<int64_t>(rawTicks / 10);
	}
	

}//namespace Cy::Time

 

 

MT5 . mql5 코드예

mt5  에서도 사용 가능. 

// 1. Windows API 임포트
#import "kernel32.dll"
   void GetSystemTimePreciseAsFileTime(long &filetime);
#import

// 2. C++의 GetUTCMicroSec()과 동일한 기능을 하는 함수
long GetUTCMicroSec()
{
   long ft;
   GetSystemTimePreciseAsFileTime(ft); // 100ns 단위 64비트 정수 획득
   return ft / 10;                     // 마이크로초(μs) 단위로 변환
}

 

 

 

 

상위정리

 

 

Visual Studio , Visual C++ 활용 정리.

Visual Studio C++ 활용 Visual StudioVisual C++ / C#1.설치, 설정 주제 비고. Visual Studio 2010 설치. Visual Studio 2013 (Community)무료 설치. Visaul Studio 2015 (Community)무료 설치.- Visual Studio 2015 버전은 이전 버전대비 급

igotit.tistory.com

 

 

연관 

 

 

UTC. 협정세계시. Coordinated Universal Time. Epoch. GMT

UTC   협정세계시. Coordinated Universal Time- 국제표준 시각 표현기준. - 약어표현 : UTC- 가장 혼선없이 사용가능한  일관성 있는 시각표현수단 - 금융데이터 처리 코드나 데이터 베이스 기록시  섬

igotit.tistory.com

 

 


첫 등록 : 2026.01.22

최종 수정 : 

단축 주소 : https://igotit.tistory.com/6426


 

댓글



비트코인




            암호화폐/외환/나스닥/골드          
       
현물 |선물 인버스 |선물 USDT , bybit MT5               프랍 트레이딩. MT4,MT5