c语言获取当前时间戳

 1 #ifdef WIN32
 2     time_t clock;
 3     struct tm tm;
 4     SYSTEMTIME wtm;
 5     GetLocalTime(&wtm);
 6     tm.tm_year = wtm.wYear - 1900;
 7     tm.tm_mon = wtm.wMonth - 1;
 8     tm.tm_mday = wtm.wDay;
 9     tm.tm_hour = wtm.wHour;
10     tm.tm_min = wtm.wMinute;
11     tm.tm_sec = wtm.wSecond;
12     tm.tm_isdst = -1;
13     clock = mktime(&tm);
14     long long timestamp = clock * 1000000 + wtm.wMilliseconds * 1000;  //获取微秒数
15 #else
16     struct timeval tv;
17     gettimeofday(&tv, NULL);
18     timestamp = tv.tv_sec * 1000000 + tv.tv_usec;
19 #endif

使用到的函数:time_t mktime(struct tm *timeptr);

mktime()用来将参数timeptr所指的tm结构数据转换成从公元1970年1月1日0时0分0秒算起至今的UTC时间所经过的秒数。

猜你喜欢

转载自www.cnblogs.com/luoluosha/p/12923040.html