将时间戳字符串解释为 QDateTime

问题描述 投票:0回答:1

我正在尝试将下面的字符串转换为 QDateTime:

QString timestampStr = "2024-10-22T16:44:29.746-0400"
QDateTime timestamp;
timestamp.fromString(timestampStr, "yyyy-MM-ddThh:mm:ss.zzztt");

但是代码运行后时间戳仍然无效,说明转换失败。 一定是格式模板字符串有问题。

在 Linux 下的 Qt 5.15.2、C++ 17 上运行。

我认为根据这个Qt文档格式字符串是正确的。 我已经在格式字符串上摆弄了一段时间了,肯定遗漏了一些明显的东西。

我怀疑问题是“tt”,根据文档应该正确解释-0400。 是否有一个文档(特定于 Qt 语法)解释所有字母的含义以及它们如何解释?

c++ qt qt5 qdatetime
1个回答
0
投票

伙计,这太愚蠢了......如果我将我的陈述改为:

timestamp = QDateTime::fromString(timestampStr, "yyyy-MM-ddTHH:mm:ss.zzztt");  

然后就可以了! 我会将问题留给其他不清楚使用variable.fromString 的人(假设它填充变量)。 不然我就删了....

© www.soinside.com 2019 - 2024. All rights reserved.