Kalenderwoche

Einklappen
X
 
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

  • Kalenderwoche

    Hallo Leute,

    ja, ich weiss es gibt schon etliche Beiträge über Kalenderwochen, aber: Heute ist der 07.06.2002 in der Kalenderwoche 23, stimmts?

    $zeit=time();
    $zeit=strftime("%W",$zeit);
    echo $zeit

    so bekomme ich aber KW22 zurück. Mit %U übrigens auch.

    Was mach ich falsch?

    Grüße
    Stephan
    Grüße an alle und weiterhin frohes Arbeiten

  • #2
    %W - Nummer der Woche des aktuellen Jahres, beginnend mit dem ersten Montag als erstem Tag der ersten Woche.

    Der erste Montag war der 07.01.02, damit sind wir in der 22. Woche
    Beantworte nie Threads mit mehr als 15 followups...
    Real programmers confuse Halloween and Christmas because OCT 31 = DEC 25

    Kommentar


    • #3
      @MelloPie
      Komisch, bei mir in der Firma und bei unseren Kunden rechnen sie alle mit KW23 (ab Montag, 03.06).
      Immer erst mal gucken, ob Benzin im Tank ist ...

      Kommentar


      • #4
        Ja mag sein, wir sind auch in der 23KW. Vielleicht habe ich mich verwirrend ausgedrückt

        In PHP:

        %W - Nummer der Woche des aktuellen Jahres, beginnend mit dem ersten Montag als erstem Tag der ersten Woche.

        Der erste Montag war der 07.01.02, damit sind wir für php in der 22. Woche.

        %V - Kalenderwoche (nach ISO 8601:1988) des aktuellen Jahres. Als Dezimal-Zahl mit dem Wertebereich 01 bis 53, wobei die Woche 01 die erste Woche mit mindestens 4 Tagen im aktuellen Jahr ist. Die Woche beginnt Montags (nicht Sonntags).(Benutzen Sie %G or %g für die Jahreskomponente die der Wochennummer für den gegebenen Timestamp entspricht.)

        Beantworte nie Threads mit mehr als 15 followups...
        Real programmers confuse Halloween and Christmas because OCT 31 = DEC 25

        Kommentar


        • #5
          bei %V bekomme ich keinen Wert zurück.

          Was ist mit %G %g gemeint. Bei strftime ist das für die Uhrzeit?

          Grüße
          Stephan
          Grüße an alle und weiterhin frohes Arbeiten

          Kommentar


          • #6
            Warum?

            hi,
            warum machst du das nicht mit 'time' ?

            $zeit=time();
            $woche=date("W",$zeit);
            echo"$woche";

            Das funktioniert immer - jedenfalls bei mir...

            MfG - Mc

            Kommentar


            • #7
              @McMuh: Danke,
              aber auch diese Version hat einen kleine Schönheitsfehler: für den 1.1.2000 wird KW 0 ausgegeben, was aber falsch ist, da er eigentlich in der letzten Woche des vorjahres liegen müsste.
              Grüße an alle und weiterhin frohes Arbeiten

              Kommentar


              • #8
                hmm

                Ja, da hast du wohl recht...

                MfG - Mc

                Kommentar


                • #9
                  Hallo zusammen,

                  mit ein bischen suchen und ein bischen Hirn selber anstrengen hab ich ne Lösung:

                  PHP----------------------------------------------------------------------------
                  function kalwo($t)
                  {
                  $y = date('Y', $t);
                  $w = date('w', $t);
                  $z = date('z', $t);
                  $wjan4 = (367+$w-$z)%7;
                  $kw = (int)(1+($z-3+$wjan4)/7) - !$w + !$wjan4;
                  if ($kw == 53 && $wjan4 >= 4) {
                  $kw = 1;
                  $y++;
                  }
                  $kw = (str_pad ($kw, 2, "0", STR_PAD_LEFT));
                  return "$kw/$y";
                  }

                  echo kalwo(mktime(0,0,0,1,1,2002));
                  PHP----------------------------------------------------------------------------

                  funzt ganz gut.
                  Grüße an alle und weiterhin frohes Arbeiten

                  Kommentar


                  • #10
                    Original geschrieben von eSHa
                    für den 1.1.2000 wird KW 0 ausgegeben, was aber falsch ist, da er eigentlich in der letzten Woche des vorjahres liegen müsste.
                    Tut er ja auch ... darum wird 0 und nicht 1 zurückgegeben.
                    Nur das mit der 22 verwirrt, denn die erste KW ist die KW mit dem ersten DONNERSTAG des Jahres, auch wenn sie am Montag anfängt.
                    mein Sport: mein Frühstück: meine Arbeit:

                    Sämtliche Code-Schnipsel sind im Allgemeinen nicht getestet und werden ohne Gewähr auf Fehlerfreiheit und Korrektheit gepostet.

                    Kommentar

                    Lädt...
                    X