Dieses Dokument behandelt folgende Themen:
Die unten aufgeführten Datums- und Zeit-Systemvariablen können an den folgenden Stellen angegeben werden:
Der von Natural generierte Inhalt der Datums- und Zeit-Systemvariablen kann nicht verändert werden, d.h. Sie können keiner dieser Variablen in einem Natural-Programm einen anderen Wert zuweisen.
Alle Datumsvariablen enthalten das aktuelle Datum. Das Format des Datums ist bei jeder Variablen anders, wie die folgende Tabelle zeigt.
Datumsvariable | Format/Länge | Datumsformat * |
---|---|---|
*DATD
|
A8 | DD.MM.YY |
*DAT4D
|
A10 | DD.MM.YYYY |
*DATE
|
A8 | DD/MM/YY |
*DAT4E
|
A10 | DD/MM/YYYY |
*DATG
|
A15 | DDmonthnameYYYY
(Gregorianisch)
|
*DATI
|
A8 | YY-MM-DD |
*DAT4I
|
A10 | YYYY-MM-DD |
*DATJ
|
A5 | YYJJJ (Julianisch)
|
*DAT4J
|
A7 | YYYYJJJ (Julianisch)
|
*DATN
|
N8 | YYYYMMDD |
*DATU
|
A8 | MM/DD/YY |
*DAT4U
|
A10 | MM/DD/YYYY |
*DATV
|
A11 | DD-MON-YYYY |
*DATVS
|
A9 | DDMONYYYY |
*DATX
|
D | Internes Datumsformat |
* D
= Day (Tag), J
=
Jualianischer Kalendertag, M
= Monat, Y = Year (Jahr),
MON
= führende drei Bytes des Monatsnamens wie in
*DATG
.
Zur Laufzeit wird der Inhalt einer Zeit-Systemvariablen jedes Mal von neuem ausgewertet, wenn die Variable in einem Natural-Programm referenziert wird. Das Format der Zeit ist für jede Zeit-Variable unterschiedlich (siehe unten).
Zeit-Variable | Format/Länge | Erklärung |
---|---|---|
*TIMD (r)
|
N7 | Kann nur in Verbindung mit einem vorangegangenen
SETTIME -Statement
verwendet werden.
Enthält die Zeit, die seit der Ausführung des
Format:
Wenn |
*TIME
|
A10 | Enthält die aktuelle Uhrzeit im Format
HH:II:SS.T (*).
|
*TIME-OUT
|
N5 | *TIME-OUT enthält die
Anzahl der verbleibenden Sekunden, bevor die aktuelle Transaktion wegen
Zeitüberschreitung abgebrochen wird (nur verfügbar unter Natural Security).
|
*TIMESTMP
|
B8 | Hardware-interner Zeitzähler (Store Clock), dessen Wert
von der Großrechner-Maschineninstruktion STCK (im Store
Clock-Format) zur Verfügung gestellt wird.
Weitere Informationen zur Bedeutung siehe IBM-Dokumentation. Die Verarbeitung von Store Clock-Werten wird im Leitfaden zur Programmierung > Weitere Programmieraspekte > Verarbeitung von Store Clock-Werten beschrieben. |
*TIMESTMPX |
B16 | Hardware-interner Zeitzähler (Store Clock), dessen Wert
von der Großrechner-Maschineninstruktion STCK (im Store Clock
Extended-Format) zur Verfügung gestellt wird.
Weitere Informationen zur Bedeutung siehe IBM-Dokumentation. Die Verarbeitung von erweiterten Store Clock-Werten wird im Leitfaden zur Programmierung > Weitere Programmieraspekte > Verarbeitung von Store Clock-Werten beschrieben. |
*TIMN
|
N7 | Enthält die aktuelle Uhrzeit im Format
HHIISST (*).
|
*TIMX
|
T | Enthält die aktuelle Uhrzeit im internen Zeitformat. |
* H
= Hour (Stunde), I
=
Minute, S
= Sekunde, T
= Tenth of a second
(Zehntelsekunde).
** Example 'DATIVAR': Date and time system variables ************************************************************************ DEFINE DATA LOCAL 1 #DATE (D) 1 #TIME (T) END-DEFINE * WRITE NOTITLE 'DATE IN FORMAT DD.MM.YYYY ' *DAT4D / 'DATE IN FORMAT DD/MM/YYYY ' *DAT4E / 'DATE IN FORMAT DD-MON-YYYY ' *DATV / 'DATE IN FORMAT DDMONYYYY ' *DATVS / 'DATE IN GREGORIAN FORM ' *DATG / 'DATE IN FORMAT YYYY-MM-DD ' *DAT4I / 'DATE IN FORMAT YYYYDDD ' *DAT4J / 'DATE IN FORMAT YYYYMMDD ' *DATN (AD=L) / 'DATE IN FORMAT MM/DD/YYYY ' *DAT4U / 'DATE IN INTERNAL FORMAT ' *DATX (DF=L) /// 'TIME IN FORMAT HH:II:SS.T ' *TIME / 'TIME IN FORMAT HHIISST ' *TIMN (AD=L) / 'TIME IN INTERNAL FORMAT ' *TIMX / 'TIME IN STORE CLOCK FORMAT ' *TIMESTMP / 'TIME IN EXT. STCK FORMAT ' *TIMESTMPX / * MOVE *DATX TO #DATE ADD 14 TO #DATE WRITE 'CURRENT DATE' *DATX (DF=L) 3X 'CURRENT DATE + 14 DAYS ' #DATE (DF=L) * MOVE *TIMX TO #TIME ADD 100 TO #TIME WRITE 'CURRENT TIME' *TIMX 5X 'CURRENT TIME + 10 SECONDS' #TIME * END
Ausgabe des Programms DATIVAR
:
DATE IN FORMAT DD.MM.YYYY 02.12.2021 DATE IN FORMAT DD/MM/YYYY 02/12/2021 DATE IN FORMAT DD-MON-YYYY 02-Dec-2021 DATE IN FORMAT DDMONYYYY 02Dec2021 DATE IN GREGORIAN FORM 02December 2021 DATE IN FORMAT YYYY-MM-DD 2021-12-02 DATE IN FORMAT YYYYDDD 2021336 DATE IN FORMAT YYYYMMDD 20211202 DATE IN FORMAT MM/DD/YYYY 12/02/2021 DATE IN INTERNAL FORMAT 2021-12-02 TIME IN FORMAT HH:II:SS.T 14:12:43.2 TIME IN FORMAT HHIISST 1412432 TIME IN INTERNAL FORMAT 14:12:43 TIME IN STORE CLOCK FORMAT DAB39D476A7E3405 TIME IN EXT. STCK FORMAT 00DAB39D476A7E340500000008150001 CURRENT DATE 2021-12-02 CURRENT DATE + 14 DAYS 2021-12-16 CURRENT TIME 14:12:43 CURRENT TIME + 10 SECONDS 14:12:53