Einzelnen Beitrag anzeigen

Glados
(Gast)

n/a Beiträge
 
#4

AW: Uhrzeit eines Unix-Timestamps ändern?

  Alt 29. Aug 2017, 13:13
Danke für eure Hilfe. Ich habe das folgendermaßen gelößt, um doppelten Code zu vermeiden.
Die Parameter (Integer und String) sind für mich genau passend, da ich keine TDateTime-Werte übergeben möchte (was woanders wieder mehr doppelten Code verursachen würde):

Delphi-Quellcode:
function ChangeTime(const Timestamp: Integer; const NewTime: string): Integer;
var
 aNewTime, aDateTime: TDateTime;
begin
 aNewTime := StrToTime(NewTime);
 aDateTime := UnixToDateTime(Timestamp);

 aDateTime := RecodeTime(aDateTime, System.DateUtils.HourOf(aNewTime), System.DateUtils.MinuteOf(aNewTime), System.DateUtils.SecondOf(aNewTime), 000);

 Result := DateTimeToUnix(aDateTime);
end;
Delphi-Quellcode:
procedure Test;
begin
 unixTimestamp := ChangeTime(DateTimeToUnix(IncDay(Date)), '17:00:00');
 // bzw
 unixTimestamp := TDateUtils.ChangeTime(1504003327, '17:00:00');
end;
  Mit Zitat antworten Zitat