Russian Qt Forum

Qt => Интернационализация, локализация => Тема начата: sergek от Ноябрь 15, 2014, 14:04



Название: Определить временную зону Москвы (Qt 5)
Отправлено: sergek от Ноябрь 15, 2014, 14:04
Коллеги, необходимо определить смещение поясного времени Москвы относительно всемирного.
Использую функцию 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;
Как считаете?