qt 获取当前时间,精度到毫秒
时间: 2025-06-05 20:33:20 浏览: 17
### Qt获取当前时间毫秒级精度的方法
在Qt中,可以使用 `QDateTime` 类来获取当前时间,并结合 `toMSecsSinceEpoch()` 方法实现毫秒级精度的时间戳。此外,还可以使用 `QElapsedTimer` 类来获取更精确的时间间隔。以下是具体实现方法[^1]:
```cpp
#include <QDateTime>
#include <QDebug>
qint64 getCurrentTimestampMs() {
QDateTime currentDateTime = QDateTime::currentDateTimeUtc();
qint64 timestampMs = currentDateTime.toMSecsSinceEpoch(); // 获取自1970-01-01 00:00:00以来的毫秒数
return timestampMs;
}
int main() {
qint64 timestamp = getCurrentTimestampMs();
qDebug() << "Current Timestamp (ms):" << timestamp;
return 0;
}
```
上述代码通过 `QDateTime::currentDateTimeUtc()` 获取当前UTC时间,并调用 `toMSecsSinceEpoch()` 方法将其转换为自1970年1月1日以来的毫秒数[^2]。
如果需要更高的精度(如微秒级别),可以使用 `QElapsedTimer` 类。以下是一个示例代码:
```cpp
#include <QElapsedTimer>
#include <QDebug>
qint64 getHighPrecisionTimestampUs() {
QElapsedTimer timer;
timer.start();
qint64 elapsedUs = timer.elapsed() * 1000 + timer.nsecsElapsed() / 1000; // 转换为微秒
return elapsedUs;
}
int main() {
qint64 highPrecisionTimestamp = getHighPrecisionTimestampUs();
qDebug() << "High Precision Timestamp (us):" << highPrecisionTimestamp;
return 0;
}
```
此代码片段展示了如何使用 `QElapsedTimer` 来获取更高精度的时间戳,适用于需要微秒级精度的场景[^3]。
阅读全文
相关推荐


















