C++ 将hh:mm:ss.zzz时间QString转换为毫秒的单行函数?

C++ 将hh:mm:ss.zzz时间QString转换为毫秒的单行函数?,c++,qt,milliseconds,time-format,C++,Qt,Milliseconds,Time Format,我正在使用Qt,我有一个格式为hh:mm:ss:zzz的timeQString,比如01:59:25.345。我想知道在QT或C++中是否已经有一些方便的功能,可以很容易地转换成毫秒。至于QTime::fromcscsincestartofDay(12334).toString(“hh:mm:ss.zzz”)。我认为您的Qt::ISODateWithMs格式被认为是有效的ISO 8601。只需在aribitrary日期前加上日期和时间之间的分隔符T QString timestamp = "20

我正在使用Qt,我有一个格式为hh:mm:ss:zzz的time
QString
,比如
01:59:25.345
。我想知道在QT或C++中是否已经有一些方便的功能,可以很容易地转换成毫秒。至于
QTime::fromcscsincestartofDay(12334).toString(“hh:mm:ss.zzz”)

我认为您的
Qt::ISODateWithMs
格式被认为是有效的ISO 8601。只需在aribitrary日期前加上日期和时间之间的分隔符
T

QString timestamp = "2020-01-01T01:59:25.345";
int milliseconds = QDateTime::fromString(timestamp, Qt::ISODateWithMs).time().msecsSinceStartOfDay();

另外,如果当前日期是夏令时的开始/结束日期,我不确定这会对计算产生什么影响,这甚至很重要。

Hi,第一行无效。我确实尝试了我自己的QString,但它返回0。函数返回0。哦,我想是这样的。我在时间戳前面加了一个假日期,它就成功了
QString dummyDate=QString(“2020-01-01T”)
int毫秒=QDateTime::fromString(dummyDate+timestamp,Qt::ISODateWithMs)。time().msecsincestartofday()