Anwendungsgebiet: Umgebungsinformationen (Kalender)
Die Funktion ELAPSED-DAYS( ) gibt die Anzahl der Differenztage zwischen zwei Datumsangaben an.
Format
ELAPSED-DAYS( ) |
DATE = string_ausdruck ,BASE = *STD / *TODAY / string_ausdruck |
Ergebnistyp
INTEGER (<integer -3074323 .. 3074323>)
Eingabeparameter
DATE = string_ausdruck
Bezeichnet das Endedatum.
Es sind nur die Formate *ISO, *AMERICAN und *GERMAN erlaubt. Der Wert muss größer als oder gleich 1582-10-15 sein.
BASE =
Bezeichnet das Basisdatum.
Es sind nur die Formate *ISO, *AMERICAN und *GERMAN erlaubt.
BASE = *STD
Basisdatum ist 1900-01-01.
BASE = *TODAY
Basisdatum ist das aktuelle Datum.
BASE = string_ausdruck
Gibt das Basisdatum an.
Der Wert ist ein Datum ab 1582-10-15.
Hinweise
Für die Angabe von BASE und DATE müssen folgende Regeln beachtet werden:
Das Format kann nur *ISO, *GERMAN oder *AMERICAN sein.
Eine führende Null ist für die ersten 9 Tage bzw. Monate nicht erforderlich. Das Jahr kann auf zwei Dezimalstellen abgekürzt werden. In diesem Fall werden die ersten beiden Stellen auf dieselbe Weise bestimmt wie bei dem SDF-Datentyp <date with-compl>:
Eingabe-Jahr
Die ersten beiden Dezimalstellen
00..59
20
60..99
19
Ergebnis
Zahl vom Typ Integer.
Fehlermeldung
SDP0452 UNGUELTIGES DATUM
Beispiel
/A = ELAPSED-DAYS (DATE='1963-12-30') /SHOW-VARIABLE A A = 23373 /A = ELAPSED-DAYS (DATE='12/30/1963', BASE = '12/30/1900') /SHOW-VARIABLE A A = 23010 /A = ELAPSED-DAYS (DATE='30.12.1963') /SHOW-VARIABLE A A = 23373 /DIFF = ELAPSED-DAYS (DATE='2001-08-23',BASE='2001-04-01') /SHOW-VARIABLE DIFF DIFF = 144 /DIFF = ELAPSED-DAYS (DATE='2001-08-23',BASE='2001-10-31') /SHOW-VARIABLE DIFF DIFF = -69