LINUX.ORG.RU

Qt QDateTime в часовом поясе


0

1

Есть переменная QDateTime dt, в ней хранится время в UTC+0. Нужно получить значение из этой переменной в определённом часовом поясе (например в русском UTC+4). dt.setTimeSpec(Qt::OffsetFromUTC) - работает но так время зависит от настроек системы. То есть если в настройках системы часовая зона не UTC+4, а скажем UTC+2 то и значение будет в UTC+2. А мне нужно чтобы на любом компьютере, не важно где находящемся было именно русское время. Подчитал qt-документацию по этой теме и ни чего подходящего не нашел. Кто-то сталкивался? Сломал голову уже. Заранее спасибо!



Последнее исправление: dartan (всего исправлений: 2)

Лень искать. Но это где-то устаналивается точно, при Выводе. Настройки надо менять в форме вывода

namezys ★★★★
()
Ответ на: комментарий от namezys

вывод осуществляется через dt.toString. Что именно вы имеете под форматом вывода? Я уже искал в сторону QLocal но там методов по работе с QDateTime тоже не обнаружил.

dartan
() автор топика
Ответ на: комментарий от VladimirMalyk

руками то можно dt.addSecs(3600*Offset), но я всё же думал в Qt есть внутренние средства, которые позволяют хотя бы учитывать перевод на зимнее летнее время(я родом из Украины, а тут в отличии от России время по прежнему переводят).

dartan
() автор топика
Ответ на: комментарий от dartan

выставлять зимнее-летнее это забота тех кто следит за часами на машине.

плюс ты выставляешь +GMT при получении времени - то есть OffsetFromUTC. а то, какие +GMT у каждого отдельного государства, и какие вообще бывают государства - это не забота кьюта.

VladimirMalyk ★★★★★
()

Решено

Полноценную поддержку работы с часовыми поясами обещают реализовать в пятой версии. По крайней мере так мне ответили на форуме кьют: «Timezone support will be drastically improved in Qt 5. John Layt is working on this, and his code is already available to look at and play around with.» Решено. Спасибо за ответы.

dartan
() автор топика
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.