119 votes

Comment convertir une date en ISO 8601 en PHP ?

Comment convertir mon temps de travail de 2010-12-30 23:21:46 au format de date ISO 8601 ? (-_- ;)

0voto

Dmitry Points 2784

Vous pouvez essayer cette méthode :

$datetime = new DateTime('2010-12-30 23:21:46');

echo $datetime->format(DATE_ATOM);

0voto

Boykodev Points 398

La norme ISO 8601 est représentée en PHP sous la forme suivante "Y-m-d\TH:i:sP"

Vous pouvez obtenir cette valeur à partir d'une constante :

DateTime::ATOM - pour les versions de PHP inférieures à 7.2 (a été supprimé)

DateTimeInterface::ATOM - pour les versions de PHP depuis 7.2

0voto

Mark Points 49079

$datetime->format('Y-m-d\TH:i:s.u\Z') devrait donner le bon format, avec le séparateur "T", le fuseau horaire "Z" (assurez-vous de convertir d'abord en UTC) et les microsecondes (omettez .u si vous n'avez pas l'intention de prendre en charge les secondes fractionnaires).

Voir https://stackoverflow.com/a/9532375/65387 pour la discussion, pourquoi utiliser T

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X