Salut à tous,
Bon je vais la faire courte.
Config : debian squeeze avec PHP 5.3.18 (last stable)
Affiche
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11 <?php date_default_timezone_set ('Europe/Paris'); $str = '10/11/2012'; try { $date = new DateTime($str); echo $date->format('Y-m-d'); } catch (Exception $e) { echo $e->getMessage(); } ?>
Woot.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2 2012-11-10
Mais
affiche
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11 <?php date_default_timezone_set ('Europe/Paris'); $str = '19/11/2012'; try { $date = new DateTime($str); echo $date->format('Y-m-d'); } catch (Exception $e) { echo $e->getMessage(); } ?>
Je me suis dis : C'est un... C'est un... BUG PHP??! J'étais en 5.3.2 et j'ai upgradé mon serv en 5.3.18 => Le problème persiste.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2 DateTime::__construct(): Failed to parse time string (19/11/2012) at position 0 (1): Unexpected character
Sur mon poste de dev je suis sous Windows 7 php 5.3.14 et fait pareil.
Google ne m'a pas dépanné, et du coup je sais pas, je sais plus... Ca fait pareil chez vous?
Vous auriez pas des idées pour contourner le problème (l'initialisation avec le timestamp, ou avec une chaine commencant par '@' suivie du timestamp donne la même erreur...)
Merci!
Partager