QDateTime Isodate有时区吗?

时间:2013-09-11 20:25:33

标签: c++ qt datetime timezone

我正在寻找从qt开始的日期时间,将字符串作为isodate返回给我,但是带有时区。 我有时会在网上查找我的问题,但没有找到解决方案

我刚刚得到了这个:

this->ui.dateEnd->dateTime().toString(Qt::ISODate);

给我这个:

1900-10-31T23:00:00Z

或者这个:

this->ui.dateEnd->dateTime().toUfc().toString(Qt::ISODate);

给我这个:

1900-10-31T23:00:00Z

我想要这个:

1900-10-31T23:00:00+01.00.00

如果有人有想法,谢谢你!

1 个答案:

答案 0 :(得分:5)

了解我在评论中提到的错误:

QDateTime local = QDateTime::currentDateTime();
QDateTime utc = local.toUTC();
utc.setTimeSpec(Qt::LocalTime);

int utcOffset = utc.secsTo(local);

qDebug() << local.toString(Qt::ISODate);
qDebug() << utc.toString(Qt::ISODate);
qDebug() << utcOffset;

local.setUtcOffset(utcOffset);
qDebug() << local.toString(Qt::ISODate);

输出:

"2013-09-12T00:17:39"  
"2013-09-11T21:17:39"  
10800 
"2013-09-12T00:17:39+03:00"