1

我被这个问题困住了。

我已经currentUTCtimeQDateTime. 问题是,我找不到以秒为单位将其转换为本地时间的可能方法。有一些类似的 QDate 函数toLocalTime()似乎不起作用。我希望这里有人可以帮助我。

QDateTime::currentMSecsSinceEpoch();
QDateTime currentateTime = QDateTime::currentDateTime();
QDateTime UTC(QDateTime::currentDateTimeUtc());
currentDateTime.toString().toStdString();
TimeNow = currentDateTime.toMSecsSinceEpoch()/1000;

以上是我当前UTC时间的代码(以秒为单位)。

4

2 回答 2

1

如果您只需要自纪元以来的秒数,您可以使用QDateTime::toTime_t();这种方法存在于 Qt 4.7 中,并且从一开始似乎也是 Qt 5 的一部分。

QDateTime::currentDateTime().toTime_t()

本地时间,或 UTC

QDateTime::currentDateTimeUtc().toTime_t()
于 2016-04-12T15:42:01.473 回答
0

使用QDateTime::fromTime_t,文档指出:

返回一个日期时间,其日期和时间是自协调世界时 (Qt::UTC) 1970-01-01T00:00:00 以来经过的秒数,并转换为给定的规范

qint64 utcTime = QDateTime::currentMSecsSinceEpoch();
QDateTime localTime = QDateTime::fromTime_t(utcTime, Qt::LocalTime);
于 2016-04-12T12:34:31.893 回答