PHP problem mit mktime und Date

Vom einfachen Programm zum fertigen Debian-Paket, Fragen rund um Programmiersprachen, Scripting und Lizenzierung.
Antworten
Benutzeravatar
Picknicker
Beiträge: 654
Registriert: 25.04.2003 16:28:02
Wohnort: Saarland

PHP problem mit mktime und Date

Beitrag von Picknicker » 31.10.2005 11:55:37

folgender Code ergibt bei mir auf 2 Rechnern folgendes Ergebniss:

Code: Alles auswählen

$start_datum = date("Ym",mktime(0, 0, 0, date("m")-2  , date("d"), date("Y")))."01";
$end_datum = date("Ym",mktime(0, 0, 0, date("m")-2  , date("d"), date("Y")))."31";
echo $start_datum."-".$end_datum."<br>";

$start_datum = date("Ym",mktime(0, 0, 0, date("m")-1  , date("d"), date("Y")))."01";
$end_datum = date("Ym",mktime(0, 0, 0, date("m")-1  , date("d"), date("Y")))."31";
echo $start_datum."-".$end_datum."<br>";

$start_datum = date("Ym",mktime(0, 0, 0, date("m")  , date("d"), date("Y")))."01";
$end_datum = date("Ym",mktime(0, 0, 0, date("m")  , date("d"), date("Y")))."31";
echo $start_datum."-".$end_datum."<br>";
Ausgabe:

Code: Alles auswählen

20050801-20050831
20051001-20051031
20051001-20051031
Seltsamer weise ging das hier am Freitag noch einwandfrei !
cu
Picknicker

cosmac
Beiträge: 4576
Registriert: 28.03.2005 22:24:30

Beitrag von cosmac » 31.10.2005 13:40:02

hi,

Warte einfach bis Morgen, dann geht das wieder :)
Und am 31.12. geht es wieder nicht -- vermute ich jedenfalls. In der
mittleren Zeile steht heute doch "mktime (0, 0, 0, 9, 31, 2005)"
und weil der September nur 30 Tage hat, macht mktime daraus
stillschweigend den 01.10.2005 (das ist in C wohldefiniert, und PHP
wird das wohl genauso machen).
Beware of programmers who carry screwdrivers.

Benutzeravatar
Picknicker
Beiträge: 654
Registriert: 25.04.2003 16:28:02
Wohnort: Saarland

Beitrag von Picknicker » 31.10.2005 14:46:11

ah jo das wird wohl so sein 8O
shit .. aber danke für den Tipp !!!
cu
Picknicker

Antworten