gpt4 book ai didi

c++ - 时间戳转换错误

转载 作者:行者123 更新时间:2023-11-28 01:24:25 25 4
gpt4 key购买 nike

我是 C++ 的新手,我在使用 C++ 转换时间戳 UNIX 时遇到问题,因为转换正好提前一个小时,我认为错误很愚蠢,并且在字符串中时间戳的转换中,因为值时间戳是正确的。

这是我的代码

string BlockHeader::convertTimeStamp() {
char data[30];
time_t timeToValue = time;
tm *tmTime = localtime(&timeToValue);
strftime (data,30,"%F %T", tmTime);
string dataString = string(data);
cout << dataString;
return dataString;

正确的值是 1231006505 -> 2009-01-03 18:15:05 但转换后的值是 2009-01-03 19:15:05

对不起我糟糕的英语但是我的学习。

谢谢你的帮助

最佳答案

the value correct is 1231006505 -> 2009-01-03 18:15:05

不,不是因为

Europe/Rome

欧洲/罗马时区比 UTC 早一小时,因此 1231006505 在该时区正确地为 2009-01-03 19:15:05。

如果你想要 UTC 时间,那么你需要使用 gmtime 而不是 localtime。函数名称中的Local指的是本地时区。

关于c++ - 时间戳转换错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54581573/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com