Qt4 在 QDateTime 中格式化小时的问题
我对以下代码有问题:
QDateTime test2;
test2.setTime_t(25);
qDebug() << test2.toString("hh:mm:ss");
这会打印“01:00:25”而不是 00:00:25。 为什么第一个小时设置为 01 而不是 00 ?
我想也许使用了 am/pm 符号,所以我尝试了这个
QDateTime test2;
test2.setTime_t(3600*22+25);
qDebug() << test2.toString("hh:mm:ss");
,但我仍然收到输出
“23:00:25”
帮助:)
I've a problem with following code:
QDateTime test2;
test2.setTime_t(25);
qDebug() << test2.toString("hh:mm:ss");
this prints "01:00:25" to output instead of 00:00:25.
Why is the first hour set to 01 instead of 00 ?
I thought that maybe am/pm notation is used so i tried this
QDateTime test2;
test2.setTime_t(3600*22+25);
qDebug() << test2.toString("hh:mm:ss");
And still i received on output
"23:00:25"
Help :)
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
这是因为您没有将 QDateTime 设置为 UTC。那么,UTC 时间 1970 年 1 月 1 日的 00:00:25 可能是您当地时区的 01:00:25?你的代码对我来说是“10:00:25”,时间为 UTC+10 :)
试试这个:
It's because you didn't set the QDateTime to UTC. So, 00:00:25 on Jan 1st 1970 in UTC time was probably 01:00:25 in your local timezone? And your code says "10:00:25" for me, at UTC+10 :)
Try this:
补充一下,UTC 似乎在惹你生气。检查输出的最后一行:
Output:
PS: I'm at UTC + 1
Just to add, it seems UTC is messing with you. Check the last line of the output:
Output:
PS: I'm at UTC + 1