web-dev-qa-db-fra.com

Comment convertir ISO8601 au format Date en php

Comment convertir ceci ( au format ISO8601 ): 2014-03-13T09: 05: 50.240Z

Pour ceci ( au format MySQL DATE ): 2014-03-13 

en php?

14
Neel

essaye ça

$date = '2014-03-13T09:05:50.240Z';

$fixed = date('Y-m-d', strtotime($date));

La documentation complète de la fonction de date peut être trouvée ici: http://php.net/manual/en/function.date.php

La fonction PHP "strtotime" ne fait rien d'autre que convertir votre timestring en un timestamp Unix.

J'espère pouvoir aider :)

P.s. :Au cas où strtotime renverrait 0, essayez ceci: 

$date = '2014-03-13T09:05:50.240Z';

$fixed = date('Y-m-d', strtotime(substr($date,0,10)));
21
ThatMSG

Depuis PHP 5.2.0, vous pouvez le faire avecOOPet DateTime() aussi (bien sûr si vous préférez la POO):

$now = new DateTime("2014-03-13T09:05:50.240Z");
echo $now->format('Y-m-d');    // MySQL datetime format
6
Faisal

Convertissez simplement la description datetime en un horodatage Unix en utilisant avec strtotime puis cinq formats en utilisant Formats de date

Essayez cela fonctionnera sûrement pour vous.

$date = '2014-03-13T09:05:50.240Z';

$fixed = date('Y-m-d', strtotime($date));
1
Mitul Shah