【发布时间】:2019-10-21 16:01:21
【问题描述】:
所以我将 QDateTime 发送到 QML 以显示它并进行一些检查(理想情况下,我希望能够使用所有 javascript 日期函数,如 getTime()、getMonth()...),并且我意识到如果我发送:
QDateTime(2019-10-30 11:15:00.000 CET Qt::TimeZone Europe/Amsterdam)
然后我读取了 QML 上的日期,我得到的是本地时区的时间,而不是 QDateTime 上设置的时间...
2019 年 10 月 30 日星期三 06:15:00 GMT-0400(纽约时区)
有什么方法可以将时区保留在 QML 端? 谢谢!!
【问题讨论】:
-
如何在 QML 端显示日期/时间值?或者 IOW,你怎么知道时区是错误的?我想知道它是否只是默认转换为当地时间进行显示。例如。
Qt.formatDateTime()的默认值是当地时间。虽然无论如何我都不明白 15 分钟的区别。 -
console.log(date) 打印出“Wed Oct 30 06:15:00 2019 GMT-0400”。如果我想比较小时数或仅使用与本地不同的自定义时区的时间进行一些检查,那么这并不是那么简单...... 15 分钟的差异是我的错,对不起,我会编辑它
-
似乎是时区信息在“翻译”到 QML 时丢失了。我通过在您的示例中设置
contextProperty()和QDateTime来尝试它,但这可能并不重要它是如何传递的。docs 在这个主题上也相当混乱。 :(