View Full Version : Datumsprüfung/berechnung
Hallo,
kennt jemand ein gutes Tool oder Sourcen zum Download zur Datumsprüfung/Berechnung inkl. Ermittlung der Kalenderwoche?
Gruss Badener
Wie wärs mit ILERPG ?
D MyDate D
monitor;
MyDate=%date(Quelle); // es werden verschiedene Formate unterstützt
on-error *all;
// Datum ungültig
endmon;
Und nun zu SQL:
DMyWeek 5I 0
c/exec-sql
c+ set MyWeek = week_iso(: MyDate)
c/end-exec
Was die Wochenberechnung incl. Jahr angeht, so suche mal nach WEEK_ISO im Forum. Birgitta hat da eine kleine Routine abgestellt.
Hallo Fuerchau,
habe das Programm von Birgitta kurz überflogen.
Das ermittelt aus einem Datum die KW, ich bräuchte es genau umgekehrt.
Also aus der KW das Datum, aber ich hab gerade auch gelesen das es dazu wohl nix gibt, wäre auch zu schön gewesen :)
Vielen Dank!
Auch dazu gibts im Forum irgendwo ein Beispiel.
Man benötigt dann nur eine Umkehrung von Birgittas Formel.
könnte ein Lösungsansatz sein, d,h, File mit Datum, KW und was sonst noch gewünscht wird. LF und dann chain.
Habe ich schon mal gesehen.
mfg, brownie
Hallo.
Was soll das Programm denn liefern?
Das KW-Datum nach den WEEK-Regeln oder nach WEEk_ISO?
Bei WEEK_ISO gehören sowohl der 1.1.2006 als auch der 31.12.2006 zur KW 52.
Bei WEEK ist der 1.1.2006 KW 01 und der 31.12.2006 KW 53!
Gruß Joe
Hallo Fuerchau,
habe das Programm von Birgitta kurz überflogen.
Das ermittelt aus einem Datum die KW, ich bräuchte es genau umgekehrt.
Also aus der KW das Datum, aber ich hab gerade auch gelesen das es dazu wohl nix gibt, wäre auch zu schön gewesen :)
Vielen Dank!
Das ermittelt aus einem Datum die KW, ich bräuchte es genau umgekehrt.
Also aus der KW das Datum, aber ich hab gerade auch gelesen das es dazu wohl nix gibt, wäre auch zu schön gewesen :)
Vielen Dank!
Aus der Kalender-Woche und dem Jahr das Datum des Montags in der angegebenen Kalenderwoche zu rechnen ist auch kein Hexen-Werk. (Vorausgesetzt, es ist das was Du brauchst!)
Der folgende 2-Zeiler sollte funktionieren:
D DSJahrKW DS
D Jahr 4P 0 inz(2006)
D KW 2P 0 inz(15)
D DSJan4 DS
D Jan4Alpha 10A
D Jan4Date D Overlay(Jan4Alpha)
D KWMontag S D
*---------------------------------------
C/EXEC SQL Set Option DatFmt = *ISO
C/END-EXEC
C Eval Jan4Alpha = %EditC(Jahr: 'X') + '-01-04'
C/EXEC SQL
C+ Set :KWMontag = :Jan4Date - DayOfWeek_Iso(:Jan4Date) Days +
C+ ((:KW-1)*7 + 1) Days
C/End-Exec
C KWMontag Dsply
C Eval *InLR = *On
Kleine Anmerkung: Laut ISO ist der 4. Januar immer in KW 1 deshalb die Referenz auf dieses Datum.
Birgitta
hallo,
vielen Dank für die zahlreichen Antworten.
Ich versuche nun mal die Sourcen von Birgitta ich denke damit ist alles gelöst was ich brauche.
Schöne Ostern!
kuempi von stein
21-04-06, 10:00
...Kleine Anmerkung: Laut ISO ist der 4. Januar immer in KW 1 deshalb die Referenz auf dieses Datum.
Birgitta
Hallo Birgitta,
ist diese Regelung irgendwo fixiert? Kann man das nachlesen?
Ab wann (seit wann) gilt diese Regelung?
Ich frage, weil der 4.Januar 1970 nach meinen Unterlagen die 2.KW war!
Okay, okay, ist schon ein paar Jahre her, aber es geht ja ums Prinzip...
Und es mag ja Software geben, die mit sowas (Geburtsdatum z.B.) noch umgehen muss...
kuempi
Änderung:
Ach ich habs gefunden. Die Regelung gibt es seit 1976!
Damals wurde angeblich der Sonntag als Wochenbeginn auf den Montag verschoben.
Mit anderen Worten, kann es bei einem Datum bis einschliesslich 1975 Abweichungen von dieser Logik geben....
bye
hier mal ein interessanter link für die, die es interessiert:
http://www.iivs.de/buchbach/buerger/tommyhof/kalender.htm
lg
hans-joachim