QDateTime Isodate有时区吗?

Joh*_*ith 4 c++ timezone qt datetime

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

我刚拿到这个:

this->ui.dateEnd->dateTime().toString(Qt::ISODate);
Run Code Online (Sandbox Code Playgroud)

给我这个:

1900-10-31T23:00:00Z
Run Code Online (Sandbox Code Playgroud)

或者这个:

this->ui.dateEnd->dateTime().toUfc().toString(Qt::ISODate);
Run Code Online (Sandbox Code Playgroud)

给我这个:

1900-10-31T23:00:00Z
Run Code Online (Sandbox Code Playgroud)

我想要这个:

1900-10-31T23:00:00+01.00.00
Run Code Online (Sandbox Code Playgroud)

谢谢,如果有人有想法!

小智 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);
Run Code Online (Sandbox Code Playgroud)

这输出:

"2013-09-12T00:17:39"  
"2013-09-11T21:17:39"  
10800 
"2013-09-12T00:17:39+03:00"
Run Code Online (Sandbox Code Playgroud)