我试图将当前时间作为TimeStamp而没有成功.
我有这个代码:
QDateTime setTime = QDateTime::fromString (QString("1970-07-18T14:15:09"), Qt::ISODate);
QDateTime current = QDateTime::currentDateTime();
uint msecs = setTime.time().msecsTo(current.time());
return QString::number(msecs);
Run Code Online (Sandbox Code Playgroud)
输出是
Sunday, January 25th 1970, 03:17:35 (GMT)
Run Code Online (Sandbox Code Playgroud)
Wim*_*ers 77
在Qt 4.7中,有QDateTime::currentMSecsSinceEpoch()静态函数,它可以完全满足您的需要,无需任何中间步骤.因此,对于使用Qt 4.7或更新版本的项目,我建议使用.
Ves*_*niK 35
我想你正在寻找这个功能:
http://doc.qt.io/qt-5/qdatetime.html#toTime_t
uint QDateTime :: toTime_t()const
返回datetime,作为自1970-01-01T00:00:00,>协调世界时(Qt :: UTC)以来经过的秒数.
在不支持时区的系统上,此函数的行为就像本地时间是Qt :: UTC一样.
另请参见setTime_t().
从 Qt 5.8 开始,我们现在必须QDateTime::currentSecsSinceEpoch()直接传递秒数,也就是真正的 Unix 时间戳。因此,无需将结果除以 1000 即可获得秒数。
致谢:也作为对此答案的评论发布。但是,我认为如果它是单独的答案,则更容易找到。
| 归档时间: |
|
| 查看次数: |
114346 次 |
| 最近记录: |