Danke euch beiden! Die ISO war mir nicht in der Schärfe bewusst.
In der Zwischenzeit hatte ich bemerkt, dass der mktime-timestamp richtig ist, also etwas anderes dafür verantwortlich sein muss.
Nochmals Danke.
Hans
mktime setzt das Jahr falsch
Einklappen
X
-
Schon mal ins Handbuch geschaut, was o überhaupt bedeutet?
"Jahreszahl gemäß ISO-8601. Dies ergibt den gleichen Wert wie Y, außer wenn die ISO-Kalenderwoche (W) zum vorhergehenden oder nächsten Jahr gehört, wobei dann jenes Jahr verwendet wird"
http://de.php.net/manual/de/function.date.php
Einen Kommentar schreiben:
-
Aus dem Handbuch zum Parameter o:
PeterJahreszahl gemäß ISO-8601. Dies ergibt den gleichen Wert wie Y, außer wenn die ISO-Kalenderwoche (W) zum vorhergehenden oder nächsten Jahr gehört, wobei dann jenes Jahr verwendet wird (in PHP 5.1.0 hinzugefügt)
Einen Kommentar schreiben:
-
mktime setzt das Jahr falsch
Hallo miteinander,
als PHP-Neuling habe ich versucht mit den Timestamps zu arbeiten.
Ich habe folgende Umgebung: OS Linux Opensuse 11.4; PHP 5.3.5; Apache 2.2.2
Folgender PHP-Code funktioniert seltsamerweise mit dem Neujahrsdatum nicht erwartungsgemäß:
...
echo '<br /> ' . date('d.m.o',strtotime("1.1.2010")) ;
$date=2012;
$tstamp1= mktime(0,0,0,1,1,$date);
echo '<br /> ' . date('d.m.o',$tstamp1);
$tstamp2= mktime(0,0,0,1,1,2012);
echo '<br /> ' . date('d.m.o',$tstamp2) . '<br /> ';
var_dump('<br /> ',$date, $tstamp1, $tstamp2);
...
Als Ausgabe erscheint:01.01.2009Mit anderen Tagen und/oder Monaten funktioniert alles einwandfrei.
01.01.2011
01.01.2011
string(8) "
" int(2012) int(1325372400) int(1325372400)
Was mache ich hier falsch?
Hat jemand bitte einen Hinweis, was hier das Problem ist?
Hans
Einen Kommentar schreiben: