我希望QDateTime覆盖 - 运算符并返回一个QTimeSpan,表示两个QDateTimes之间的差异(就像.NET的TimeSpan一样).由于Qt中不存在,我决定实现它.
不幸的是,QDateTime没有msecsTo类似功能.将两个QDateTime之间的差异精确到毫秒的最简洁方法是什么?
小智 17
我意识到这个问题是从2010年开始的,当时Qt 4.7并不存在(它实际上是在这个问题最初被问到 - 2010年9月21日后的一周内出现的),但对于那些正在寻找怎么做的人来说现在这个:
从Qt 4.7开始,QDateTime有一个"msecsTo"方法.请参阅http://doc.qt.io/qt-4.8/qdatetime.html#msecsTo上的 Qt 4.8文档.
QDateTime dateTime1 = QDateTime::currentDateTime();
// let's say exactly 5 seconds pass here...
QDateTime dateTime2 = QDateTime::currentDateTime();
qint64 millisecondsDiff = dateTime1.msecsTo(dateTime2);
// millisecondsDiff is equal to 5000
Run Code Online (Sandbox Code Playgroud)
我可能会用a.daysTo(b)*1000*60*60*24 + a.time().msecsTo(b.time()).请注意,您需要观察自己的距离,因为您将很快地溢出数据类型.
| 归档时间: |
|
| 查看次数: |
20602 次 |
| 最近记录: |