Однострочная функция для преобразования QString времени hh: mm: ss.zzz в миллисекунды? - PullRequest
0 голосов
/ 19 июня 2020

Я использую Qt, и у меня есть время QString в формате hh:mm:ss:zzz, например 01:59:25.345. Мне интересно, есть ли уже в Qt или C ++ удобные функции, которые могут легко преобразовать это в миллисекунды. Что касается QTime::fromMSecsSinceStartOfDay(12334).toString("hh:mm:ss.zzz");, то наоборот.

1 Ответ

1 голос
/ 19 июня 2020

I думаю, ваш формат Qt::ISODateWithMs считается действительным ISO 8601. Просто добавьте произвольную дату с разделителем T между датой a и временем.

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

Также , если текущий день является днем ​​начала / окончания летнего времени, я не уверен, как это повлияет на расчет, это даже имеет значение.

...