Pull to refresh

TDateTime to QDateTime

Reading time1 min
Views3.6K
Итак необходимо преобразовать тип TDateTime, использующийся в Delphi, в тип QDateTime Qt.
TDateTime представляет собой число с плавающей точкой, где целая часть — число дней с 30 декабря 1899 года до текущего дня, а дробная часть — число секунд от начала дня.

QDateTime Converter::fromTDateTime( double tDateTime )
{
int time_t = (int)((tDateTime — 25569.16666) * 86400); //получили время в формате time_t
return QDateTime::fromTime_t( time_t );
}

25569.16666 — это 1 января 1970 года в формате TDateTime.
86400 — количество секунд в одном дне.

В реальной программе оба магических числа заменяем константами.

Обратное преобразование выполняется в обратном порядке.
Tags:
Hubs:
-2
Comments5

Articles