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

mBa*_*dos 1 qt utc qdatetime timezone-offset

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

const QDateTime now = QDateTime::currentDateTime();
return now.toUTC().secsTo(now) / 60;
Run Code Online (Sandbox Code Playgroud)

mBa*_*dos 5

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

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