1

我遇到了一个看似非常简单的问题:我想从包含时间戳的 QString 中获取 QDateTime。我从 PostgreSQL 得到了时间戳,但这没关系。这是不起作用的代码:

QString timestamp = "2010-10-09 19:21:46+02:00";
QString format = "YYYY-MM-DD HH:MM:SSTZD";
QDateTime dt = QDateTime::fromString(timestamp, format);
qDebug() << dt.toString(); // outputs empty string

一定有一些非常明显的东西我错过了。谢谢!

4

1 回答 1

1

我犯了两个错误。格式规范中没有 TZD,因此我删除了时区信息,因为我的应用程序中不需要它:

timeStamp.chop(6);

然后用下面的格式得到一个QDateTime。注意小写格式字符:

QDateTime createdAt = QDateTime::fromString(timeStamp, "yyyy-MM-dd HH:mm:ss");

感谢楼上各位帮忙。

于 2010-12-15T11:41:30.100 回答