Чуть поправил и все ровно не работает как нужно
Код:
function DateTimeToInt64(Value : TDateTime) : Cardinal; // 64-bit unsigned int
var
ts : TTimeStamp;
begin
ts.Date := DaysBetween(EncodeDate(1,1,1),DateOf(Value))+1;
ts.Time := MilliSecondOf(TimeOf(Value));
Result := Cardinal(ts.Date +ts.Time);
end;
А обратно как?
Есть также функция на с++
Код:
//------------------------------------------------------------------------------
// Из uint64_t в TDateTime
//------------------------------------------------------------------------------
TDateTime __fastcall Int64ToDateTime( uint64_t Value )
{
TTimeStamp ts;
*((uint64_t*)(&ts)) = Value;
return TimeStampToDateTime( ts );
}