C++获取当前系统时间

作者: 明天不用上课 | 来源:发表于2016-01-07 18:25 被阅读363次

首先,包含如下头文件:

#include "sys/time.h"
#include <unistd.h>

实现函数,分不同平台:

double Common::getTime() {
#ifdef _WIN32
    FILETIME ft;
    double t;
    GetSystemTimeAsFileTime(&ft);
    /* Windows file time (time since January 1, 1601 (UTC)) */
    t  = ft.dwLowDateTime/1.0e7 + ft.dwHighDateTime*(4294967296.0/1.0e7);
    /* convert to Unix Epoch time (time since January 1, 1970 (UTC)) */
    return (t - 11644473600.0);
#else
    struct timeval v;
    gettimeofday(&v, (struct timezone *) NULL);
    /* Unix Epoch time (time since January 1, 1970 (UTC)) */
    return v.tv_sec + v.tv_usec/1.0e6;
#endif
}

相关文章

网友评论

  • HughLuo:为啥不用STL或者boost?
    明天不用上课:@hughlo 长知识了,多谢指教
    HughLuo: @明天不用上课 呃~STL里的chrono这个库是处理时间的。你就省去用条件编译做跨平台了。
    明天不用上课:@hughlo 没用过呃

本文标题:C++获取当前系统时间

本文链接:https://www.haomeiwen.com/subject/nzufkttx.html