【问题标题】:Force Qt local timezone to UTC强制 Qt 本地时区为 UTC
【发布时间】:2011-04-09 00:38:11
【问题描述】:

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

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

总是使用 UTC 时间戳。

我的问题是我病了(我的意思是,真的,我做了一些棘手的时间戳处理,很难发现忘记的.toUTC())总是转换到本地时区/从本地时区转换因为所有 Qt 日期/时间小部件似乎都假定本地时区用于输入和输出。

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

这种 Qt 行为非常烦人。

【问题讨论】:

    标签: qt timezone


    【解决方案1】:

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

    【讨论】:

      【解决方案2】:

      我不认为有一个全局设置。但是您可以创建/设置数据时间对象和相关小部件以使用 UTC (Qt::UTC) 作为时间规范:

      QDateTime with Qt::TimeSpec

      QDateTimeEdit::setTimeSpec()

      【讨论】:

        猜你喜欢
        • 2011-02-07
        • 1970-01-01
        • 2011-09-16
        • 1970-01-01
        • 2014-08-12
        • 2019-05-31
        • 1970-01-01
        • 2016-01-21
        • 2013-08-04
        相关资源
        最近更新 更多