Hallo zusammen,
strptime bereitet mir gerade Kopfzerbrechen und ich hoffe es kann mir jemand auf die Sprünge helfen:
Folgendes (vereinfachtes) Script habe ich geschrieben:
$strf sieht dann übrigens so aus:
Array ( [tm_sec] => 0 [tm_min] => 0 [tm_hour] => 0 [tm_mday] => 24 [tm_mon] => 3 [tm_year] => 111 [tm_wday] => 0 [tm_yday] => 113 [unparsed] => )
(Zwischenfrage warum tm_year => 111 ??? und nicht 2011)
Ziel des ganzen solle es sein, die $parts eines datums in ein ordentliches format mit mktime zu bringen. Das funktioniert auch bestens bei allen Daten früher als das Jahr 2011. Ab 2011 ergibt sich das Datum 1.1.1970!?!?!
Ich hoffe jemand hat eine Erklärung. Ist das eine art millenium bug?
DAnke!!!!
strptime bereitet mir gerade Kopfzerbrechen und ich hoffe es kann mir jemand auf die Sprünge helfen:
Folgendes (vereinfachtes) Script habe ich geschrieben:
PHP-Code:
$parts[1]='24';
$parts[2]='04';
$parts[3]='2011'; //Dies ist nur zur vereinfachung, eigentlich werden die Daten aus einem string extrahiert...
$strf = strptime($parts[1].'/'.$parts[2].'/'.$parts[3],'%d/%m/%Y')
$result=mktime(0, 0, 1, $strf[tm_mon]+1 , $strf[tm_mday], $strf[tm_year]);
Array ( [tm_sec] => 0 [tm_min] => 0 [tm_hour] => 0 [tm_mday] => 24 [tm_mon] => 3 [tm_year] => 111 [tm_wday] => 0 [tm_yday] => 113 [unparsed] => )
(Zwischenfrage warum tm_year => 111 ??? und nicht 2011)
Ziel des ganzen solle es sein, die $parts eines datums in ein ordentliches format mit mktime zu bringen. Das funktioniert auch bestens bei allen Daten früher als das Jahr 2011. Ab 2011 ergibt sich das Datum 1.1.1970!?!?!
Ich hoffe jemand hat eine Erklärung. Ist das eine art millenium bug?
DAnke!!!!
Kommentar