Christian Seiler: PHP-Abfrage für die jeweiligen Wochenenden

Beitrag lesen

Hallo,

Ich  lande immer auf den korrekten Tag.

Nein, tust Du nicht. Wenn ich Dein Script, in der Form wie DU es gepostet hast, am 24. März 2008 um 23:30 aufrufe, dann spuckt er mir aus:

29.3.2008<br />
31.3.2008<br />

Korrekt wäre:

29.3.2008<br />
30.3.2008<br />

Das einzige, was ich an Deinem Script geändert habe, ist time() durch $zeit ersetzt.

<?php  
  
// $zeit = time ();  
$zeit = 1206397800;  
  
$wochentag=date('w', $zeit);// 0 Sonntag .. 6 Sonnabend  
switch ($wochentag) {  
case 0: // Sonntag  
    $p1=-86400; // will Sonnabend mit haben  
    $p2=0;  
    break;  
case 1: // Montag  
    $p1=86400*5;  
 $p2=86400*6;  
    break;  
case 2://Dienstag  
    $p1=86400*4;  
 $p2=86400*5;  
  
    break;  
case 3://Mittwoch  
    $p1=86400*3;  
 $p2=86400*4;  
  
    break;  
case 4://Donnerstag  
    $p1=86400*2;  
 $p2=86400*3;  
  
    break;  
case 5://Freitag  
    $p1=86400;  
 $p2=86400*2;  
  
    break;  
case 6://Sonnabend  
    $p1=0;  
 $p2=86400;  
  
  
}  
  
echo date('j.n.Y',$zeit+$p1).'<br />';  
echo date('j.n.Y',$zeit+$p2).'<br />';  
  
?>

Ferner: Selbst *wenn* Du die Uhrzeit auf 00:00:00 beschränkst (was Du in Deinem Vorschlag aber nur dahingesagt hast, nichtmal ansatzweise erläutert hast! Und ich habe mich auf den von Dir vorgestellten Code bezogen), funktioniert Dein Code nur ZUFÄLLIGERWEISE, weil die Zeitumstellung hierzulande immer an einem Sonntag stattfindet und bei Dir gerade Sonntag die Grenze ist, schreibe den gleichen Code mal mit Montag statt Sonntag und der fliegt auch bei 00:00:00 auf die Schnauze. Oder geh nach Israel, wo die Zeitumstellung in eine Richtung an Freitagen stattfindet, da fliegt der Code genauso auf die Schnauze. Es ist ein grundsätzliches, von Dir unverstandenes Problem im Code vorhanden ist, nämlich, dass Timestamps eine kontinuierliche Zeitskala darstellen, unsere Lokalzeit jedoch nicht (!). Lies Dir zu dem Thema bitte ein Archivposting von mir durch: http://forum.de.selfhtml.org/archiv/2007/10/t159879/#m1039891.

Viele Grüße,
Christian