Comment convertir mon heure 2010-12-30 23:21:46
au format de date ISO 8601? (-_-;)
php
datetime
date-format
datetime-format
time-format
sensationnel
la source
la source
date($format, strtotime($dateString))
ou l'DateTime
équivalent de l' objet. Ils ne diffèrent que par l'entrée de ces fonctions. Tout ce que vous avez à faire est d' aller sur les pages correspondantes du manuel PHP et de découvrir quelle est l'entrée.Réponses:
Orienté objet
C'est la méthode recommandée.
De procédure
Pour les anciennes versions de PHP, ou si vous êtes plus à l'aise avec le code procédural.
la source
2010-12-30T23:21:46+1100
savoir comment le faire être2010-12-30T23:21:46+11:00
?preg_replace('/(?<=\d{2})(?=\d{2}$)/', ':', '2010-12-30T23:21:46+1100')
. Il sort2010-12-30T23:21:46+11:00
.echo date('c', …
produit la sortie avec les deux-points.date('c', strtotime('2010-12-30 23:21:46'))
nice @Gordon :)DATE_ISO8601
noterais que l'utilisation produit une chaîne de date qui est légèrement différente de ISO8601 (le deux-points est manquant dans le TZ, ISO8601 s'attend à ce que les temps soient tous avec OU tous sans les deux-points, pas un mélange) -date('c')
produit une date valide ISO 8601 stricte - Cela pourrait rendre difficile la traçabilité des bogues si le code attend un format de date / heure ISO 8601 strict. Réf: en.wikipedia.org/wiki/ISO_8601Après PHP 5, vous pouvez utiliser ceci:
echo date("c");
forme une date-heure au format ISO 8601.http://ideone.com/nD7piL
Note pour commentaires:
En ce qui concerne à ce , 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 + 0X00 est incorrect pour une utilisation prolongée. Il vaut donc mieux utiliser
date("c")
. Une discussion similaire ici .la source
DATE_ISO8601
;+0X:00
vs+0X00
.'c'
etDATE_ISO8601
produisent des représentations temporelles ISO8601 valides.DATE_ISO8601
ne produit pas de représentation ISO8601 valide. DATE_ATOM fait cependantComment convertir ISO 8601 en unixtimestamp:
Comment convertir un horodatage unix en ISO 8601 (serveur de fuseau horaire):
Comment convertir unixtimestamp en ISO 8601 (GMT):
Comment convertir un horodatage unix en ISO 8601 (fuseau horaire personnalisé):
la source
la source
Si vous essayez de définir une valeur dans datetime-local
la source