我有一个简单的功能,每秒打印当前的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。