Показать сообщение отдельно
  #3  
Старый 29.10.2015, 09:05
yarockiisergei yarockiisergei вне форума
Прохожий
 
Регистрация: 25.07.2008
Сообщения: 23
Версия Delphi: 6
Репутация: 10
По умолчанию

Чуть поправил и все ровно не работает как нужно
Код:
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 );
}
Ответить с цитированием