Kalenderwochenstarttimestamp

Die Kalenderwoche an sich herauszufinden geht recht leicht in PHP mit

date(”W”);

Eine Formel um einen Unix-Timestamp vom Start der Kalenderwoche zu erstellen war schon etwas schwerer.

kalenderwochenstart_timestamp = timestamp von jahr + (dauer einer woche* ( nummer_kalenderwoche – 1)) – (wochentag vom 1.1. des aktuellen Jahres * dauer von einem tag) + dauer von einem tag;


3 Kommentare zu “Kalenderwochenstarttimestamp”

  1. unset

    Wäre das nicht einfacher? ;-)

    $time = strtotime(’next Monday’) – (
    7* // Tage
    24* // Stunden
    60* // Minuten
    60 // Sekunden
    );

  2. kb

    Witzig, die Methode kannte ich noch gar nicht.

    In der Praxis musste ich allerdings den Start der Kalenderwoche für eine ganze Tabelle ausrechnen, also nicht nur die aktuelle :)

  3. unset

    Der zweite Parameter von strtotime kann ein Timestamp sein, der – wenn angegebenen – der Berechnung zu Grunde gelegt wird. Siehe http://php.net/strtotime

    Mit strtotime kann man sich viele Datumsgeschichten ziemlich erleichtern – musste ich auch erst drauf kommen … ;-)

    Und was mir ausgeschlafen dann einfällt: Das ist noch einfacher:

    $time = strtotime(’-1 week’, strtotime(’next Monday’, time()));
    echo date(’d.m.Y, H:i:s’, $time);

    Statt time() dann einfach das Ausgangsdatum …

Dein Kommentar: