Hallo,
ich habe eine Frage zu DateDiff$. Ich versuche auf einem Formular die Anzahl Stunden, Minuten und Sekunden zwischen 2 Zeitstempeln auszugeben. Dabei ist mir folgendes aufgefallen:
Vom Kommando DateDiff$(,,“%h”) erwarte ich die Anzahl der Stunden zwischen den beiden Zeitstempeln (zumindest lese ich so die Dokumentation). Es wird aber ab einer Differenz von > 30 Minuten als Ergebnis eine volle Stunde angegeben (offenbar aufgerundet):
Beispiel:
‘2023-11-27 18:02:51’ - ‘2023-11-27 18:41:09’ ergibt den Wert 1 (ca. 38 Minuten)
‘2023-11-27 18:02:51’ - ‘2023-11-27 18:31:09’ ergibt den Wert 0 (ca. 28 Minuten)
das gleiche Bild ergibt sich für die Minuten (Ausgabe als “%i”):
‘2023-11-27 18:02:51’ - ‘2023-11-27 18:03:20’ ergibt den Wert 0 (29 Sekunden)
‘2023-11-27 18:02:51’ - ‘2023-11-27 18:03:22’ ergibt den Wert 1 (31 Sekunden)
Gebe ich die Differenz “in gänze” als formatierten String aus, erhalte ich das korrekte Ergebnis
Beispiel:
‘2023-11-27 18:02:51’ - ‘2023-11-27 18:03:22’ ergibt den Wert “000:00:31” mit dem FormatString “03h:02i:%02s”
Das beschriebene Verhalten konnte ich auf dem Kundensystem (LL 26.5) als auch auf meiner LaborUmgebung (LL29) beobachten…
Habe ich einen Denkfehler?