PDA

View Full Version : Datumsprüfung/berechnung



Seiten : [1] 2

Badener
11-04-06, 09:38
Hallo,

kennt jemand ein gutes Tool oder Sourcen zum Download zur Datumsprüfung/Berechnung inkl. Ermittlung der Kalenderwoche?


Gruss Badener

Fuerchau
11-04-06, 09:46
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.

Badener
11-04-06, 10:00
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!

Fuerchau
11-04-06, 11:00
Auch dazu gibts im Forum irgendwo ein Beispiel.
Man benötigt dann nur eine Umkehrung von Birgittas Formel.

Brownie
12-04-06, 07:45
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

Joe
12-04-06, 15:19
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!

B.Hauser
12-04-06, 16:10
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

Badener
13-04-06, 15:47
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

jajonowak
21-04-06, 10:16
hier mal ein interessanter link für die, die es interessiert:


http://www.iivs.de/buchbach/buerger/tommyhof/kalender.htm


lg
hans-joachim