[NEWSboard IBMi Forum]
  1. #1
    Registriert seit
    Feb 2005
    Beiträge
    10

    Smile Datumsprüfung/berechnung

    Hallo,

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


    Gruss Badener

  2. #2
    Registriert seit
    Feb 2001
    Beiträge
    20.241
    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.
    Dienstleistungen? Die gibt es hier: http://www.fuerchau.de
    Das Excel-AddIn: https://www.ftsolutions.de/index.php/downloads
    BI? Da war doch noch was: http://www.ftsolutions.de

  3. #3
    Registriert seit
    Feb 2005
    Beiträge
    10
    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!

  4. #4
    Registriert seit
    Feb 2001
    Beiträge
    20.241
    Auch dazu gibts im Forum irgendwo ein Beispiel.
    Man benötigt dann nur eine Umkehrung von Birgittas Formel.
    Dienstleistungen? Die gibt es hier: http://www.fuerchau.de
    Das Excel-AddIn: https://www.ftsolutions.de/index.php/downloads
    BI? Da war doch noch was: http://www.ftsolutions.de

  5. #5
    Registriert seit
    Jun 2001
    Beiträge
    194

    Fabrikkalender...

    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

  6. #6
    Joe is offline [professional_User]
    Registriert seit
    Mar 2001
    Beiträge
    365
    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



    Zitat Zitat von Badener
    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!

  7. #7
    Registriert seit
    Aug 2001
    Beiträge
    2.873
    Zitat Zitat von Badener
    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:
    PHP-Code:
    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(:Jan4DateDays +   
     
    C+                  ((:KW-1)*1Days                               
     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
    Birgitta Hauser

    Anwendungsmodernisierung, Beratung, Schulungen, Programmierung im Bereich RPG, SQL und Datenbank
    IBM Champion seit 2020 - 4. Jahr in Folge
    Birgitta Hauser - Modernization - Education - Consulting on IBM i

  8. #8
    Registriert seit
    Feb 2005
    Beiträge
    10
    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!

  9. #9
    Registriert seit
    Aug 2004
    Beiträge
    923
    Zitat Zitat von B.Hauser
    ...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

  10. #10
    Registriert seit
    Jul 2002
    Beiträge
    218

    kalenderberechnung

    hier mal ein interessanter link für die, die es interessiert:


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


    lg
    hans-joachim

  11. #11
    Registriert seit
    Feb 2001
    Beiträge
    20.241
    Die ISO-Regelung besagt, dass mindestens 4 Tage zu einer Woche gehören und diese mit Montag beginnt, daher kann der 4. Januar nach ISO nur in der 1. Woche liegen.
    Wenn irgendwo der 4.1.1970 als KW2 ausgewiesen wurde, dann wird nicht die ISO-Regelung verwendet.
    Es gibt nun auch andere Länder, in der die Woche mit Sonntag beginnt, hier gilt eben nicht die ISO-Regelung.
    Dienstleistungen? Die gibt es hier: http://www.fuerchau.de
    Das Excel-AddIn: https://www.ftsolutions.de/index.php/downloads
    BI? Da war doch noch was: http://www.ftsolutions.de

  12. #12
    Registriert seit
    Aug 2001
    Beiträge
    2.873
    Frag mal Mister Google.

    Es handelt sich um die ISO-Norm ISO-8601:
    http://de.wikipedia.org/wiki/Woche

    https://its.zhwin.ch/faq/faq_detail.php?faq_id=33

    ... In Kalenderwoche 1 müssen mindestens 4 Tage des neuen Jahres sein. Deshalb liegt immer der erste Donnerstag eines Jahres in KW 1 und ist der 4. Januar immer in KW1.
    Wichtig: Eine Kalenderwoche beginnt immer mit Montag!

    Der 04.01.1970 war ein Sonntag! Evt. hat die zugrundeliegende Rechnung den Sonntag als ersten Wochentag interpretiert und deshalb den 04.01.1970 in KW 2 gepackt.

    Birgitta
    Birgitta Hauser

    Anwendungsmodernisierung, Beratung, Schulungen, Programmierung im Bereich RPG, SQL und Datenbank
    IBM Champion seit 2020 - 4. Jahr in Folge
    Birgitta Hauser - Modernization - Education - Consulting on IBM i

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • You may not post attachments
  • You may not edit your posts
  •