Forum: Algorithmen, Datenstrukturen und Klassendesign
by bcvs,
25. Mär 2020
Und es liegt doch an Delphi!
Uwes Testprogramm liefert mit D10.3.3 bei mir auch das korrekte Ergebnis.
Mit 10.2.3 kompiliert liefert es 01.05.2020 09:00, also eine Stunde zu früh!!!
Mein besagtes Projekt hatte ich noch unter 10.2.3. Wenn das die Lösung ist, kann ich aber auch problemlos auf 10.3.3. wechseln.
Forum: Algorithmen, Datenstrukturen und Klassendesign
by bcvs,
25. Mär 2020
Hm, ohne StrToDateTime sieht es aber genauso aus:
TFile.SetLastWriteTimeUTC('test.txt', 43922.5); // entspricht 01.04.2020 12:00
TFile.GetLastWriteTimeUTC('test.txt'); // liefert 01.04.2020 11:00
Beim Umstellen der Zeitzonen bin ich auf folgendes gestoßen:
Da gibt es in den Win10-Einstellungen den Schalter "Automatisch an Sommerzeit anpassen". Wenn man den ausschaltet, gibt es keine...
Forum: Algorithmen, Datenstrukturen und Klassendesign
by bcvs,
25. Mär 2020
Diese Vermutung hatte ich auch schon und so scheint es auch wirklich zu sein.
Der Dir-Befehl in der Eingabeaufforderung liefert die gleiche Zeit wie GetLastWriteTime, also eine Stunde früher als der Explorer. Anders allerdings die PowerShell: Hier zeigt Dir die selben Werte an wie der Explorer.
Dann werde ich also weiterhin mit Set/GetLastWriteTime arbeiten und mich nicht drum kümmern, was...
Forum: Algorithmen, Datenstrukturen und Klassendesign
by bcvs,
25. Mär 2020
Danke, aber damit sind wir bei dem ersten Problem aus meinem Ursprungspost.
Bei einer Datei, die ein Änderungsdatum innerhab der Sommerzeit hat, liefert dieses GetFileDateTime, genause wie auch TFile.GetLastWriteTime eine Uhrzeit, die eine Stunde früher liegt, als das vom Windows-Explorer angezeigte Änderungsdatum.
Forum: Algorithmen, Datenstrukturen und Klassendesign
by bcvs,
25. Mär 2020
Ja, aber eine Zeile darüber habe auch die UTC-Zeit geschrieben.
Set UTC - Get UTC, sollte doch die selbe Zeit bleiben, oder?
Das UTC nicht unserer Ortszeit entspricht, ist mir schon kar.
Forum: Algorithmen, Datenstrukturen und Klassendesign
by bcvs,
24. Mär 2020
Hallo zusammen,
ich habe ein bisschen mit TFile.SetLastWriteTime und TFile.GetLastWriteTime herumprobiert. Dabei sind mir zwei Dinge aufgefallen, die ich mir nicht erklären kann:
1.
TFile.SetLastWriteTime('test.txt', StrToDateTime('01.05.2020 10:00'));