Russian Qt Forum

Qt => Общие вопросы => Тема начата: SerjVarshavskiy от Ноябрь 12, 2007, 14:22



Название: перевод из GMT в local QDateTime
Отправлено: SerjVarshavskiy от Ноябрь 12, 2007, 14:22
может сталкивался кто с такой задачкой

в QDateTime лежит дата/время GMT
нужно перевести в локальное время в соответствии с временной зоной на тачке
в linux C++ это делалось, но хочется межплатформенности


Название: Re: перевод из GMT в local QDateTime
Отправлено: dilshodm от Ноябрь 12, 2007, 15:33
QDateTime::toLocalTime() - оно?


Название: Re: перевод из GMT в local QDateTime
Отправлено: SerjVarshavskiy от Ноябрь 12, 2007, 16:13
qDebug() << gmtDateTime;
locDateTime = gmtDateTime.toLocalTime();
qDebug() << locDateTime;

выводит одно и тоже  :-\


Название: Re: перевод из GMT в local QDateTime
Отправлено: ритт от Ноябрь 12, 2007, 16:32
переменная gmtDateTime читается, например, из файла или из строки?
вот переменная и считается в локальном времени
чтобы было правильно, надо создавать переменную в UTC

Цитировать
QDateTime can store datetimes as local time or as UTC. QDateTime::currentDateTime() returns a QDateTime expressed as local time; use toUTC() to convert it to UTC. You can also use timeSpec() to find out if a QDateTime object stores a UTC time or a local time. Operations such as addSecs() and secsTo() are aware of daylight saving time (DST).


Название: Re: перевод из GMT в local QDateTime
Отправлено: SerjVarshavskiy от Ноябрь 12, 2007, 17:42
благодарю, дошло

делаю UTC переменную по конструктору
QDateTime::QDateTime ( const QDate & date, const QTime & time, Qt::TimeSpec spec = Qt::LocalTime )

где 3м парамом Qt::UTC