PDA

View Full Version : RPG julianisches Datum Umrechnung



binder
29-04-08, 11:49
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

Khholm
29-04-08, 12:18
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

Pikachu
29-04-08, 12:23
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).

prsbrc
29-04-08, 12:23
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

binder
29-04-08, 13:37
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

Fuerchau
02-05-08, 10:45
Mittels %char(MyDate:*JUL) kann die Umwandlung erfolgen.
Bei der Speicherung wird immer ein internes Format verwendet, wenn das Feld als "L" definiert wurde.