2012-02-23 1 views
0

Je suis en train d'analyser la date ISO 8601 suivante en PHP 4 en utilisant la fonction strtotime:Impossible d'analyser les dates ISO 8601 en PHP 4 en utilisant strtotime

2012-02-01T00:00:00.000Z 

Cependant cela renvoie -1. Comment venir et que puis-je faire pour contourner ce problème?

Malheureusement, je suis bloqué avec PHP 4.3.10 et je ne peux donc utiliser aucune des nouvelles fonctions pour analyser les dates.

+0

Pas utile, mais: PHP 5 est sorti depuis près de 8 ans. Probablement le temps de vous décoller: P – Hamish

Répondre

0

Essayez ceci:

strtotime(str_replace('T', ' ', $date)); 
+0

Cela renvoie toujours -1. Certaines expérimentations révèlent qu'il analyse la chaîne '2012-02-01T00: 00: 00', je ne suis pas sûr de savoir comment détecter que la date est dans ce format. – Justin

0

qui fonctionne pour moi:

$iso = '2013-06-25T15:16:13.000Z'; 
$d = str_replace('T', ' ', $iso); 
$d = substr($d, 0, 19); 
$ts = strtotime($d); 

$isIso = (strlen($iso) == 24 && substr($iso, 10, 1) === "T" && substr($iso, 19, 1) === "." && substr($iso, 23, 1) === "Z"); 
Questions connexes