我遇到一个看似非常简单的问题:我想从包含时间戳的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
必须有一些非常明显的东西我不见了。谢谢!
答案 0 :(得分:0)
我犯了两个错误。格式规范中没有TZD,因此我删除了时区信息,因为我在我的应用中不需要它:
timeStamp.chop(6);
然后使用以下格式获取QDateTime。请注意小写格式字符:
QDateTime createdAt = QDateTime::fromString(timeStamp, "yyyy-MM-dd HH:mm:ss");
感谢上面的每个人帮忙。