Принудительно установить местный часовой пояс Qt в UTC - PullRequest
3 голосов
/ 08 апреля 2011

В настоящее время я разрабатываю приложение, которое обрабатывает много временных меток, используя Qt.

Мне часто нужно отображать метки времени, используя QDateTime, QDateTimeEdit и т. Д.

I всегда использовать метки времени UTC.

Моя проблема в том, что я болен (я имею в виду, на самом деле, я делаю некоторые хитрые хитрости временных меток и забытый .toUTC() очень трудно определить), всегда конвертируясь в / из местного часового пояса, так как все виджеты даты / времени Qt, кажется, предполагают, что местный часовой пояс используется для входов и выходов.

Есть ли способ попросить Qt просто отбросить часовой пояс клиента и предположить, что все в UTC? На данный момент я настроил часы Windows на использование UTC, чтобы можно было легко отлаживать ...

Такое поведение Qt безумно раздражает.

Ответы [ 2 ]

1 голос
/ 08 апреля 2011

Просто идея , которую я хотел бы использовать, чтобы не забыть: подкласс QDateTime, чтобы сказать QUTCDateTime и, вероятно, также добавить некоторые служебные методы.

1 голос
/ 08 апреля 2011

Я не думаю, что есть глобальные условия для этого. Но вы можете создать / установить объект времени данных и связанные виджеты, чтобы использовать UTC (Qt::UTC) в качестве спецификации времени:

QDateTime с Qt :: TimeSpec

QDateTimeEdit :: setTimeSpec ()

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...