Einzelnen Beitrag anzeigen

TiGü

Registriert seit: 6. Apr 2011
Ort: Berlin
3.060 Beiträge
 
Delphi 10.4 Sydney
 
#7

AW: Das 2038-Problem: wie würdet ihr euch vorbereiten?

  Alt 30. Aug 2017, 09:00
Glados, was Himi im anderen Thread meinte, war das du für die Umwandlung zwischen Datetime und Unix-Timestamp deine eigenen Funktionen mit Integer als Datentyp nimmst.
Das ist a) sachlich falsch und b) das Rad neu erfunden.

Siehe die von Uwe erwähnten Funktionen in der System.DateUtils:

Delphi-Quellcode:
{ Unix date conversion support }

function DateTimeToUnix(const AValue: TDateTime; AInputIsUTC: Boolean): Int64;
var
  LDate: TDateTime;
 begin
  if AInputIsUTC then
    LDate := AValue
  else
    LDate := TTimeZone.Local.ToUniversalTime(AValue);
  Result := SecondsBetween(UnixDateDelta, LDate);
  if LDate < UnixDateDelta then
     Result := -Result;
 end;

function UnixToDateTime(const AValue: Int64; AReturnUTC: Boolean): TDateTime;
begin
  if AReturnUTC then
    Result := IncSecond(UnixDateDelta, AValue)
  else
    Result := TTimeZone.Local.ToLocalTime(IncSecond(UnixDateDelta, AValue));
end;
  Mit Zitat antworten Zitat