QT C++ 利用 double key = QTime::currentTime(); 获取1970年到现在的秒数
时间: 2024-10-21 22:05:14 浏览: 59
在Qt C++中,`QTime::currentTime()`函数返回的是本地时间和秒数的组合,包括小时、分钟、秒以及毫秒部分。如果你想直接得到从1970年1月1日(Unix纪元)到现在的总秒数,你需要先将`QTime`对象转换成`QDateTime`,然后从中提取出秒数。以下是一个步骤:
```cpp
#include <QDateTime>
#include <QTime>
int main() {
QDateTime now = QDateTime::currentDateTime();
QTime timePart = now.time();
qint64 secondsSinceEpoch = timePart.secsTo(QTime(0, 0, 0)); // 时间差为秒数
// 如果你想得到完整的毫秒数,可以这样处理:
qint64 millisecondsSinceEpoch = now.msecsTo(QDateTime::fromMSecsSinceEpoch(0));
qint64 totalSeconds = secondsSinceEpoch + (millisecondsSinceEpoch / 1000);
return 0;
}
```
这里,`secsTo()`方法用于计算两个`QTime`之间的秒数差异,而`msecsTo()`用于计算毫秒。注意,`QDateTime::fromMSecsSinceEpoch(0)`返回的是1970年1月1日的UTC时间,所以两者相加就得到了总秒数。
阅读全文