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时间所经过的秒数。


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM