c++ - 将 hh:mm:ss.zzz 时间 QString 转换为毫秒的单行函数?
问题描述
我正在使用 Qt 并且我有一个时间QString
格式hh:mm:ss:zzz
,例如01:59:25.345
. 我想知道 Qt 或 c++ 中是否已经有一些方便的函数可以轻松地将其转换为毫秒。至于QTime::fromMSecsSinceStartOfDay(12334).toString("hh:mm:ss.zzz");
反过来。
解决方案
我认为您的格式Qt::ISODateWithMs
被认为是有效的 ISO 8601。只需T
在日期 a 和时间之间添加一个带有分隔符的任意日期即可。
QString timestamp = "2020-01-01T01:59:25.345";
int milliseconds = QDateTime::fromString(timestamp, Qt::ISODateWithMs).time().msecsSinceStartOfDay();
此外,如果当天是夏令时开始/结束日,我不确定这会如何影响计算,这甚至很重要。
推荐阅读
- jupyter-notebook - Jupyter笔记本中的Julia图形字体非常小
- makefile - 命令“make”如何链接到 Python lib?
- c - 为什么 rand() 产生相差 3 或 4 的整数?
- ruby - 字符串和符号的 Ruby 不变性(如果我们将它们存储在变量中会怎样)
- python - 我正在尝试在基于 python 中的用户输入的字符串中生成随机数列表
- algolia - 追加空间
- 内容
- regex - 如何在 shell 文件(.sh)中使用正则表达式来捕获“\”和换行符(换行符)?
- python-3.x - else 块内的递归函数调用
- vuejs2 - 如何使用 Vuejs/Vue-Router 管理用户页面刷新
- jquery - 一个子菜单一次打开一个并单击关闭