In der Hilfe zu
Date() fehlt die Angabe des Zeitbereichs, der korrekt behandelt werden kann.
Code: Alles auswählen
;-- Minimum 1970-01-01, 00:00:00 Uhr:
Debug Date(1969, 12, 31, 23, 59, 59) ; falscher Wert
Debug Date(1970, 1, 1, 0, 0, 0)
Debug Date(1970, 1, 1, 0, 0, 1)
Debug Date(1970, 1, 1, 0, 0, 2)
Debug ""
;-- Maximum 2038-01-19, 03:14:07 Uhr:
Debug Date(2038, 1, 19, 3, 14, 5)
Debug Date(2038, 1, 19, 3, 14, 6)
Debug Date(2038, 1, 19, 3, 14, 7)
Debug Date(2038, 1, 19, 3, 14, 8) ; falscher Wert
Offenbar ist das zulässige
Minimum 1970-01-01, 00:00:00 Uhr und das zulässige
Maximum 2038-01-19, 03:14:07 Uhr.
Werte außerhalb dieses Bereichs liefern keine Fehlermeldung, sondern liefern einen unsinnigen Zahlenwert. Dies kann leicht zu schwer zu findenden Bugs in PB-Programmen führen. Daher schreibe ich dies nicht in der Rubrik "Verbesserungsvorschläge", sondern in dieser Rubrik.
Ebenso sollten auch bei
FormatDate() die Grenzen (die vermutlich die gleichen sind wie hier) angegeben werden.
Gruß, Little John
PS
Außerdem sollte beschrieben werden, was
genau die Funktion zurückgibt:
Date() liefert die Anzahl der Sekunden zwischen 1970-01-01, 00:00:00 Uhr und der aktuellen bzw. angegebenen Zeit.