如何在Qt 5.1中找出我当前位置的UTC偏移量?

时间:2014-06-18 09:21:42

标签: qt utc timezone-offset qdatetime

我必须编写一个函数来返回当前位置的UTC偏移量。令我最大的惊喜,下面的代码返回0:

const QDateTime now = QDateTime::currentDateTime();
return now.toUTC().secsTo(now) / 60;

1 个答案:

答案 0 :(得分:5)

这并不像看起来那么容易,因为QDateTime :: secsTo在转换为UTC后计算偏移量。我找到了答案here,但我并不喜欢转换为字符串和返回。所以我的解决方案是:

const QDateTime dateTime1 = QDateTime::currentDateTime();
const QDateTime dateTime2 = QDateTime(dateTime1.date(), dateTime1.time(), Qt::UTC);
return dateTime1.secsTo(dateTime2) / 60;