我收到来自 Clockify JSON API 的响应,其中包含 ISO8601 格式的日期和时间。
字符串的格式对我来说看起来不错,但是当我使用 QDateTime::fromString 将它们转换为 QDateTime 时,我得到奇怪且不正确的值:
QString aString = "2021-09-10T15:56:00Z";
QString aDifferentString = "2021-09-10T15:56:00";
QString theString = durationInfo.value("end").toString();
QDateTime aDateTime = QDateTime::fromString(aString, Qt::ISODate);
QDateTime anotherDateTime = QDateTime::fromString(aString, "yyyy-MM-ddTHH:mm:ssZ");
QDateTime aDifferentDateTime = QDateTime::fromString(aDifferentString, Qt::ISODate);
endTime = QDateTime::fromString(theString,Qt::ISODate);
但是当我调试时,我看到变量在代码运行后具有这些值:
DateTime Thu Jan 31 07:23:38 1974 QDateTime
aDifferentDateTime Sat Nov 27 22:39:02 1971 QDateTime
aDifferentString "2021-09-10T15:56:00" QString
aString "2021-09-10T15:56:00Z" QString
anotherDateTime Sat Nov 27 22:39:02 1971 QDateTime
endTime Thu Jan 31 07:23:38 1974 QDateTime
theString "2021-09-10T15:56:00Z" QString
我在这里遗漏了什么,或者fromString功能或格式规范是否损坏?我的程序中的其余逻辑表现得相应怪异,因为日期都是错误的。
我正在使用 Qt Creator 4.13.0
基于 Qt 5.15.0(MSVC 2019,64 位)
建于 2020 年 8 月 25 日 10:06:59
从修订 fff3b41833
