为什么C ++中的UTC时间比实际UTC时间提前8秒?

时间:2018-05-13 01:22:25

标签: c++ docker

我有一个简单的功能,每秒打印当前的UTC时间。这是代码:

#include <iostream>
#include <thread>
#include <time.h>
#include <chrono>

using namespace std;

void printTime(){
    time_t now = time(0);
    tm *gmtm = gmtime(&now);
    char* dt = asctime(gmtm);
    cout << dt << endl;
}

int main(void) {
    while(true){
        printTime();
        this_thread::sleep_for(chrono::milliseconds(1000));
    }

    return(0);
}

我的代码打印的时间与实际的UTC时间不同(与本地计算机和网站相比)。

例如......

我的代码打印Sun May 13 00:55:30 2018

我的本​​地机器打印Sun May 13 00:55:22 2018(我从date -u的终端打印出来。)

某些网站打印Sun May 13 00:55:22 2018(与本地计算机相同)。

我做错了什么?请帮忙:(

[编辑] 我使用Docker。

0 个答案:

没有答案