TDateTimeからQDateTime

したがって、Delphiで使用されるTDateTime型をQDateTime Qt型に変換する必要があります。
TDateTimeは浮動小数点数です。整数部分は1899年12月30日から現在の日までの日数であり、小数部分はその日の始まりからの秒数です。

QDateTimeコンバーター:: fromTDateTime(double tDateTime)
{
int time_t =(int)((tDateTime-25569.16666)* 86400); // time_t形式で時間を取得
return QDateTime :: fromTime_t(time_t);
}

25569.16666は、TDateTime形式で1970年1月1日です。
86400-1日の秒数。

実際のプログラムでは、両方のマジック番号を定数に置き換えます。

逆変換は逆の順序で実行されます。

Source: https://habr.com/ru/post/J46947/


All Articles