Your Browser is not longer supported

Please use Google Chrome, Mozilla Firefox or Microsoft Edge to view the page correctly
Loading...

{{viewport.spaceProperty.prod}}

DATE-VALUE( ) Bestimmtes Datum ausgeben

&pagelevel(3)&pagelevel

Anwendungsgebiet: Umgebungsinformationen (Kalender)

Die Funktion DATE-VALUE( ) gibt ein bestimmtes Datum aus, das einer angegebenen Zahl von Tagen seit dem Basisdatum entspricht (Defaultwert ist 1900-01-01).

Format

DATE-VALUE( )

NUMBER-OF-DAYS = arithm_ausdruck

,BASE = *STD / *TODAY / string_ausdruck

,FORMAT = *ISO / *AMERICAN / *GERMAN

Ergebnistyp

STRING (<string 10..13>)

Eingabeparameter

NUMBER-OF-DAYS = arithm_ausdruck
Anzahl der Tage ab dem Basisdatum.

BASE =
Bezeichnet das Basisdatum.
Das Format des BASE-Wert hängt nicht vom Wert des FORMAT-Operanden ab.
Das Format kann *ISO, *GERMAN oder *AMERICAN sein, mit Tag und Monat in einer oder zwei Dezimalstellen (eine führende Null ist für die ersten 9 Tage bzw. Monate nicht erforderlich) und mit dem Jahr in zwei oder vier Dezimalstellen. Der BASE-Wert kann ein Datum mit oder ohne die Anzahl der Tage im aktuellen Jahr enthalten (die Anzahl der Tage muss immer als dreistellige Zahl angegeben werden und muss im Verhältnis zum Rest des Datums korrekt sein) und kann in Verbindung mit der DATE()-Funktion verwendet werden. Bei einer zweistelligen Jahresangabe werden die ersten beiden Dezimalstellen wie bei dem SDF-Datentyp date ergänzt:

Eingabe-Jahr

Die ersten beiden Dezimalstellen

00..59

20

60..99

19

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.

FORMAT = *ISO / *AMERICAN / *GERMAN
Legt fest, in welchem Format das Datum ausgegeben wird.

Ergebnis

Eingabeparameter FORMAT =

Datumsformat <string 10..13>

*AMERICAN

mm/tt/jjiii

*ISO

jjjj-mm-ttiii

*GERMAN

tt.mm.jjjj

iiiTag im laufenden Jahr (001 .. 366)
jjzweistellige Jahreszahl
jjjjvollständige Jahreszahl
mmzweistellige Monatszahl (01 .. 12)
ttTag im laufenden Monat (01 .. 31)

Fehlermeldung

SDP0452  UNGUELTIGES DATUM

Beispiel

/A = DATE-VALUE(NUMBER-OF-DAYS = 23008, FORMAT = *ISO)
/SHOW-VARIABLE A
A = 1962-12-30364 

/A = DATE-VALUE(NUMBER-OF-DAYS = 23008, FORMAT = *AMERICAN)
/SHOW-VARIABLE A
A = 12/30/62364 

/A = DATE-VALUE(NUMBER-OF-DAYS = 23008, FORMAT = *GERMAN)
/SHOW-VARIABLE A
A = 30.12.1962

/A = DATE-VALUE(NUMBER-OF-DAYS = 1705, BASE = '04.01.2050004', FORMAT = *ISO)
/SHOW-VARIABLE A
A = 2054-09-05248

/AFTERTOMORROW = DATE-VALUE(NUMBER-OF-DAYS = 2, BASE = DATE( ))
/TOMORROW = DATE-VALUE(NUMBER-OF-DAYS = 1, BASE = *TODAY)
/TODAY = DATE( )
/SHOW-VARIABLE (TODAY,TOMORROW,AFTERTOMORROW)
AFTERTOMORROW = 2024-07-17199
TODAY = 2024-07-15197
TOMORROW = 2024-07-16198