Коллеги, необходимо определить смещение поясного времени Москвы относительно всемирного.
Использую функцию QTimeZone::offsetFromUtc(const QDateTime & atDateTime):
QDateTime date;
QTimeZone zone(QByteArray("Europe/Moscow"));
int offset = zone.offsetFromUtc(date)/3600;
Смущает, что функция "Returns the total effective offset at the given atDateTime, i.e. the number of seconds to add to UTC to obtain the local time."
Менял у себя системный часовой пояс, но смещение остается прежним. Интересно, а вдруг в Благовещенске этот offset будет другой? Тогда не понятно, зачем нужен параметр atDateTime.
Может, лучше сделать так:
QDateTime date;
QTimeZone zone(QByteArray("Europe/Moscow"));
QTimeZone zoneUTC(QByteArray("Europe/London"));
int offset = (zone.offsetFromUtc(date) - zoneUTC.offsetFromUtc(date))/3600;
Как считаете?