marcus: php DIN Wochen berechnung

Hallo,

irgendwie finde ich nicht die Lösung...

wie kann ich mit DIN Wochen (Bsp KW 11) rechnen
date("W") ist klar
...aber was mache ich in KW 1 wenn ich 2 KW's abziehe

Date("W")-1 ist nämlich -1 und nicht 52

Habe es mit mktime versucht jedoch nichts vernünfiges raus bekommen.

Mein Problem ist immer der Jahreswechsel....

Danke
Marcus

  1. Hello out there!

    ...aber was mache ich in KW 1 wenn ich 2 KW's abziehe

    Nicht 2 KW abziehen, sondern vom Datum 14 Tage, dann erst in KW umrechenen.

    See ya up the road,
    Gunnar

    --
    „Wer Gründe anhört, kommt in Gefahr nachzugeben.“ (Goethe)
  2. hi,

    wie kann ich mit DIN Wochen (Bsp KW 11) rechnen
    date("W") ist klar
    ...aber was mache ich in KW 1 wenn ich 2 KW's abziehe

    Date("W")-1 ist nämlich -1 und nicht 52

    Dann rechnest du entweder selber etwas intelligenter (wenn Ergebnis < 1, dann addiere es auf die [zuvor ermittelte] Anzahl Wochen des vorherigen Jahres drauf) - oder lässt PHP vorher erst mal mal einen entsprechenden Timestamp errechnen (strtotime), und formatierst diesen dann anschliessend wieder.

    Habe es mit mktime versucht jedoch nichts vernünfiges raus bekommen.

    Das ist keine vernünftige Problembeschreibung.

    gruß,
    wahsaga

    --
    /voodoo.css:
    #GeorgeWBush { position:absolute; bottom:-6ft; }
    1. Das ist keine vernünftige Problembeschreibung.

      gruß,
      wahsaga

      OK ich versuchs nochmal...

      welchen Code benötige ich für folgende Problemstellung:

      Angenommen wir haben die KW 2 im Jahr 2007
      Ich brauche nun die errechneten Werte für die letzten 5 KW's
      (also KW1 KW52 KW51 KW50 KW49)

      Danke für Eure Hilfe

      Marcus

      1. hi,

        OK ich versuchs nochmal...

        welchen Code benötige ich für folgende Problemstellung:

        Einen, der das bewirkt, was du erreichen möchtest.

        Angenommen wir haben die KW 2 im Jahr 2007
        Ich brauche nun die errechneten Werte für die letzten 5 KW's
        (also KW1 KW52 KW51 KW50 KW49)

        Und dein Ansatz?

        gruß,
        wahsaga

        --
        /voodoo.css:
        #GeorgeWBush { position:absolute; bottom:-6ft; }
        1. Ok du philosoph....

          jetzt habe ich es selber gefunden....

          Danke

          <--snip-->

          $jahr = date("Y");
          $heute = date("j.n.Y");
          $monat = date("m");

          $lastweek1 = date("W", mktime(0, 0, 0,$monat,$heute-7,$jahr));
           $lastweek2 = date("W", mktime(0, 0, 0,$monat,$heute-14,$jahr));
           $lastweek3 = date("W", mktime(0, 0, 0,$monat,$heute-21,$jahr));
           $lastweek4 = date("W", mktime(0, 0, 0,$monat,$heute-28,$jahr));
           $lastweek5 = date("W", mktime(0, 0, 0,$monat,$heute-35,$jahr));

          echo"KW $lastweek1 <br>";
           echo"KW $lastweek2 <br>";
           echo"KW $lastweek3 <br>";
           echo"KW $lastweek4 <br>";
           echo"KW $lastweek5 <br>";

          <--snip-->

          1. Hello out there!

            jetzt habe ich es selber gefunden....
            $lastweek2 = date("W", mktime(0, 0, 0,$monat,$heute-14,$jahr));

            Ähm, sagte ich nicht genau das schon vor einer guten halben Stunde? https://forum.selfhtml.org/?t=148329&m=962436

            See ya up the road,
            Gunnar

            --
            „Wer Gründe anhört, kommt in Gefahr nachzugeben.“ (Goethe)
  3. hi,

    Kalenderwoche berechnen, DIN 1355

    Ein Jahr hat 53 Wochen wenn es mit einem Donnerstag beginnt oder

    auf einen Donnerstag endet, sonst 52 Wochen, siehe weeks_of_year()

    Die 1. Woche muss mindestens 4 v. 7 Wochentagen enthalten

    d.h., der 1.1. fällt in die 1. Woche wenn er zwischen Montag und

    Donnerstag liegt

    das geht bestimmt auch mit PHP zu machen, in PERL hab ichs auch hingekriegt ;-)

    roro