强制Qt本地时区为UTC

时间:2011-04-08 12:16:39

标签: qt timezone

我目前正在开发一个使用Qt处理大量时间戳的应用程序。

我经常需要使用QDateTime,QDateTimeEdit等显示时间戳。

始终使用UTC时间戳。

我的问题是我生病(我的意思是,真的,我做了一些棘手的时间戳嘎吱嘎吱和一个被遗忘的.toUTC()非常难以发现)总是转换为/来自本地时区,因为所有Qt日期/时间小部件似乎都假设本地时区用于输入和输出。

有没有办法让Qt放弃客户端的时区并假设一切都是UTC? 现在,我将我的Windows时钟设置为使用UTC,以便我可以轻松调试......

这种Qt行为非常烦人。

2 个答案:

答案 0 :(得分:1)

我认为没有全球性的设定。但您可以创建/设置数据时间对象和相关小部件以使用UTC(Qt::UTC)作为时间规范:

QDateTime with Qt::TimeSpec

QDateTimeEdit::setTimeSpec()

答案 1 :(得分:1)

只是一个想法,我会用它来确保我不会忘记:子类QDateTime说QUTCDateTime并且可能也会引入一些实用方法。