Forum: Algorithmen, Datenstrukturen und Klassendesign
Delphi
by Hobbycoder,
1. Nov 2023
Danke ;-) Das war's. Klingt eigentlich logisch, hab ich nur igendwie nicht dran gedacht.
Aber, und das finde ich jetzt merkwürdig, wenn ich joDateIsUTC verwende, erhalte ich am Server eine Stunde zu wenig. Wenn ich joDateFormatISO8601 verwende, dann stimmt die Zeit auf beiden Seiten. (Jetzt natürlich mit Umrechnung LocalToUTC am Client bevor die Uhrzeit ins Object geschrieben wird, und...
Forum: Algorithmen, Datenstrukturen und Klassendesign
Delphi
by Hobbycoder,
1. Nov 2023
UTC wäre schon gut, denn ich muss für den Realbetrieb die Zeitumrechnung für unterschiedliche zeitzonen berücksichtigen.
Von daher wäre eine Funktion UCTToLocalTime da recht nützlich.
Was mich wirklich wundert: Dieses Problem müsste ja eigenltich jeder haben, der die TJSON.ObjectToJSONString bzw. TJSON.JSONToObject nutzt und irgendwelche Zeitdaten überträgt.
Ich könnte natürlich auch die...
Forum: Algorithmen, Datenstrukturen und Klassendesign
Delphi
by Hobbycoder,
1. Nov 2023
Ohne joDateIsUTC (Result:=TJson.ObjectToJsonString(Self, );) wird folgender String gesendet: "2023-11-01T11:13:32.391+01:00" (empfangen wird jedoch nach JSONToObject "2023-11-01T11:13:32.391 01:00"- Statt dem + ist eine Leerstelle drin).
Mit oder ohne die funtion UTCToLocalTime erhalte ich dann eine Differenz von +2 Stunden. Also 13:13:32
Forum: Algorithmen, Datenstrukturen und Klassendesign
Delphi
by Hobbycoder,
1. Nov 2023
Ja, nur dass wir zu dem Zeitpunkt 10:52 hatten.
Deswegen meine Frage, fehlt das noch die Berücksichtigung Sommer/Winterzeit? Oder muss die Funktion das so können?
Forum: Algorithmen, Datenstrukturen und Klassendesign
Delphi
by Hobbycoder,
1. Nov 2023
Gesendet und empfangen wird "2023-11-01T10:52:32.271Z"
Nach der Umrechnung habe ich 01.11.23 11:52:32
Forum: Algorithmen, Datenstrukturen und Klassendesign
Delphi
by Hobbycoder,
1. Nov 2023
Über die TJSONOption kann ich das ja einstellen.
Dann muss ich auf Serverseite mit der Funktion:
function UTCToLocalTime(AValue: TDateTime): TDateTime;
var
SysTime1, SysTime2: TSystemTime;
TZinfo: TTimeZoneInformation;
begin
GetTimeZoneInformation(TZinfo);
DateTimeToSystemTime(AValue, SysTime1);
Forum: Algorithmen, Datenstrukturen und Klassendesign
Delphi
by Hobbycoder,
1. Nov 2023
Hi,
ich übertrage Datenstrukturen mittels ObjectToJSON und JSONToObject pber http zwischen Client und Server, was soweit recht simple und fehlerfrei funktioniert. Nur bei den TDateTime-Werten habe ich so meine Probleme.
Je nach TJSONOptions habe ich auf der Serverseite eine Abweichung um +1 oder +2 Stunden. Das wird sicherlich auf Grund der zeitzone und Winter-/Sommerzeit so sein. ...