Hier mal was zum Verständnis,
da die Hilfetexte zum Thema Datum/Zeit und Formate weitgehend falsch und/oder irreführend sind:
Code: Alles auswählen
Funktion: Ergebnis-Typ des Funktionsaufrufs
ZEIT - [Zeit]
DATUM - [Datum] ** mit Uhrzeitkomponente = 00:00:00
UHRZEIT - [Uhr] ** < 24 Stunden (abgerundet auf ohne Rest durch 5 teilbare Sekunden)
Code: Alles auswählen
Variable z: [Zeit], d: [Datum], u: [Uhrzeit]
z:= "2012-10-30 14:45:11"
d:= z
u:= z
Code: Alles auswählen
s:= z ** Formatschablone "JJJJ-MM.TT HH.mm.ss
s:= d ** Formatschablone "JJJJ-MM.TT"
s:= u ** Formatschablone "HH.mm.ss"
Die Unter-Typen [Datum] und [Uhr] sind praktisch nur Hilfskonstruktionen zur formatierten Ausgabe anhand vorgegebener Format-Schablonen, da es in diesem System hier sonst keine anderen Möglichkeiten zur expliziten Ausgabeformat-Steuerung gibt.
- Was fehlt, ist ein Typ für Zeitdifferenzen, also z.B. der Typ [ZeitDauer], um auch Zeitdifferenzen >= 24 Stunden genau so einfach darstellen zu können. Aber für eine solche Schablone gibt es meines Wissens keine Einstellmöglichkeit in den Windows Regions- und Sprachoptionen. Sonst gäbe es vielleicht auch einen solchen Typ in Homeputer.
- UHRZEIT ist eine Funktion, die einen Wert vom Typ [Uhr] liefert.
Uhr ist ein defaultmäßig vorhandenes Objekt vom Typ [Zeichen], in dem - falls das Ausführungsintervall nicht geändert wurde - alle 5 Sekunden der Wert des Funktionsaufrufs UHRZEIT (als Zeichenkette!) gespeichert wird. Formatiert gemäß der Windows Formatschablone für die Zeit.
Wenn man sich die Ergebnisse der Funktionsaufrufe ZEIT und UHRZEIT als Realzahlen mal genauer ansieht, stellt man fest, dass ZEIT die Uhrzeit sogar wesentlich feiner als Sekunden auflöst, während UHRZEIT immer ohne Rest durch 5 teilbare ganze Sekunden liefert. Da die Sekunden dabei abgerundet werden,
gilt stets:
Code: Alles auswählen
DATUM+UHRZEIT <= ZEIT
Code: Alles auswählen
DATUM+UHRZEIT = ZEIT