View Full Version : RPG julianisches Datum Umrechnung
Hallo zusammen,
möchte in einem RPG/CL Programm das aktuelle Datum (Maschinendatum) ins Julianische Datum umrechnen. Kann mir jemant eine Built-in Function oder einen Befehl nennen.
Vorab vielen Dank.
MfG
Wenn wirklich das Julianische Datum gemeint ist:
Das Julianische Datum gibt die Zeit in Tagen an, die seit dem 1. Januar −4712 (4713 v. Chr.) 12:00 Uhr TDT (http://de.wikipedia.org/wiki/Dynamische_Zeit) vergangen ist. Dem 1. Januar 2000 12:00 Uhr TDT entspricht zum Beispiel das Julianische Datum 2.451.545,0.
zwar keine Built-in function aber als Idee:
mit %diff die Differenz in Tagen zwischen Maschinendatum und einem festen Datum (z.B. 01.01.0001) berechnen und dann den dann ja fixen Wert (einmal ermitteln) für die Bestimmung des julianischen Datums dazu addieren
In CL geht das mit CVTDAT (http://publib.boulder.ibm.com/iseries/v5r1/ic2929/info/cl/cvtdat.htm). In RPG gibt's dafür den Datentyp Datum (http://publib.boulder.ibm.com/iseries/v5r1/ic2924/books/c0925083175.htm).
Also ich nenne jetzt mal einen "alten" CL-Befehl. Und zwar CVTDAT.
Mit diesem Befehl kann man mittels CLP/CLLE alle möglichen Datumformate arbeiten.
MfG
Hallo zusammen,
besten Dank für die Hilfe.
Mit CVTDAT *JUL ist es möglich.
Spateneder
30-04-08, 18:27
In RPG gibt es die Datumsformate *JUL und *LONGJUL (siehe RPG-Referenz).
Eigentlich sind diese Formate nur noch zur Umwandlung von Datumswerten in Character- oder numerische Werte erforderlich. Wenn es um Datumsarithmetik geht, was ich vermute, ist das Format egal, mit Datumsfeldern kann man wunderbar rechnen. Siehe Handbuch und zahlreiche Antworten von Fuerchau.
Also: RTFM und viele Grüße
M. Spateneder
Mittels %char(MyDate:*JUL) kann die Umwandlung erfolgen.
Bei der Speicherung wird immer ein internes Format verwendet, wenn das Feld als "L" definiert wurde.