Comment convertir mon temps de travail de 2010-12-30 23:21:46
au format de date ISO 8601 ? (-_- ;)
Réponses
Trop de publicités?Orienté objet
C'est la méthode recommandée.
$datetime = new DateTime('2010-12-30 23:21:46');
echo $datetime->format(DateTime::ATOM); // Updated ISO8601
Procédure
Pour les versions plus anciennes 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 l'utiliser : echo date("c");
format ISO 8601 datetime.
Note pour commentaires :
En ce qui concerne cette Ces deux expressions sont valables pour le fuseau horaire, pour le format de base : ±[hh]:[mm], ±[hh][mm], or ±[hh]
.
Mais notez que +0X:00 est correct, et que +0X00 est incorrect pour un usage étendu. Il est donc préférable d'utiliser date("c")
. Une discussion similaire aquí .
Comment convertir l'ISO 8601 en unixtimestamp :
strtotime('2012-01-18T11:45:00+01:00');
// Output : 1326883500
Comment convertir unixtimestamp en ISO 8601 (serveur de fuseaux horaires) :
date_format(date_timestamp_set(new DateTime(), 1326883500), 'c');
// Output : 2012-01-18T11:45:00+01:00
Comment convertir unixtimestamp en ISO 8601 (GMT) :
date_format(date_create('@'. 1326883500), 'c') . "\n";
// Output : 2012-01-18T10:45:00+00:00
Comment convertir unixtimestamp en ISO 8601 (fuseau horaire personnalisé) :
date_format(date_timestamp_set(new DateTime(), 1326883500)->setTimezone(new DateTimeZone('America/New_York')), 'c');
// Output : 2012-01-18T05:45:00-05:00
Selon le Documentation officielle de PHP vous pouvez simplement le formater en :
echo $objDateTime->format('c'); // ISO8601 formated datetime
echo $objDateTime->format(DateTime::ISO8601); // Another way to get an ISO8601 formatted string
- Réponses précédentes
- Plus de réponses