Comment convertir mon heure du 2010-12-30 23:21:46
au format de date ISO 8601? (-_-;)
C'est la manière recommandée.
$datetime = new DateTime('2010-12-30 23:21:46');
echo $datetime->format(DateTime::ATOM); // Updated ISO8601
Pour les anciennes versions de PHP, ou si vous êtes plus à l'aise avec le code procédural.
echo date(DATE_ISO8601, strtotime('2010-12-30 23:21:46'));
Après PHP 5, vous pouvez utiliser ceci: echo date("c");
forme un format de date/heure ISO 8601.
Note pour les commentaires:
En ce qui concerne this , ces deux expressions sont valables pour le fuseau horaire, pour le format de base: ±[hh]:[mm], ±[hh][mm], or ±[hh]
.
Notez cependant que + 0X: 00 est correct et que + 0X00 est incorrect pour une utilisation étendue. Il est donc préférable d'utiliser date("c")
. Une discussion similaire ici .
strtotime('2012-01-18T11:45:00+01:00');
// Output : 1326883500
date_format(date_timestamp_set(new DateTime(), 1326883500), 'c');
// Output : 2012-01-18T11:45:00+01:00
date_format(date_create('@'. 1326883500), 'c') . "\n";
// Output : 2012-01-18T10:45:00+00:00
date_format(date_timestamp_set(new DateTime(), 1326883500)->setTimezone(new DateTimeZone('America/New_York')), 'c');
// Output : 2012-01-18T05:45:00-05:00
Si vous essayez de définir une valeur dans datetime-local
date("Y-m-d\TH:i",strtotime('2010-12-30 23:21:46'));
//output : 2010-12-30T23:21