C++ 獲取UTC時間精確到微妙
阿新 • • 發佈:2019-02-14
在日常開發過程中經常會使用到時間類函式的統計,其中獲取1970年至今的UTC時間是比較常使用的,但是在windows下沒有直接能夠精確到微妙級的函式可用。本文提供方法正好可以解決這類需求問題。
注意1:
time 函式有兩中用法,如果他裡面帶引數,那就把返回值放在引數裡面,否則就直接返回time值,在unix中是國際標準時間公元1 9 7 0年1月1日0 0 : 0 0 : 0 0以來經過的秒數。這種秒數是以資料型別t i m e t表示的,可以用%ld打印出來
注意2:
GetTickCount,函式。GetTickCount返回(retrieve)從作業系統啟動到現在所經過(elapsed)的毫秒數,它的返回值是DWORD。
下面先給出C++實現程式碼:
#ifndef UTC_TIME_STAMP_H_
#define UTC_TIME_STAMP_H_ #include <windows.h> #include <sys/timeb.h> #include <time.h> #if !defined(_WINSOCK2API_) && !defined(_WINSOCKAPI_) struct timeval { long tv_sec; long tv_usec; }; #endif static int gettimeofday(struct timeval* tv)
timeval
tv;
gettimeofday(&tv);
或者直接呼叫:GetUtcCaressing();
最後說明:本文程式碼在vs2008與VS2010下都進行了測試,可放心使用