JavaScript Date ISO8601
Quelle est la meilleure façon d'obtenir un objet Date Javascript à partir d'une chaîne comme le suivant:
2011-06-02T09:34:29+02:00 ?
J'ai de la difficulté avec le fuseau horaire de la partie (évidemment).
- ISO8601 dates ont été introduites avec ECMAScript v5. Les anciens navigateurs ne le supportent.
- lorsque vous utilisez une nouvelle Date(SomeISODateString), comment faire pour l'empêcher de se convertir à la date locales de temps...?
Vous devez vous connecter pour publier un commentaire.
+0200
ou+02
mais seulement+02:00
UTC offset. Ce n'est pas en ligne avec la norme ISO 8601 qui permet±[hh]:[mm]
,±[hh][mm]
, ou±[hh]
.IE 8 et ci-dessous, et les anciennes versions des autres navigateurs n'implémentent pas le format de Date ISO. Un problème est que certains navigateurs ne retourner une date, au lieu de NaN, juste pas le bon.
Vous pouvez écrire votre propre méthode, si vous voulez les soutenir. Le fuseau horaire est le problème.
Cet exemple sera exécuté une fois et fixer une Date.fromISO méthode - si la méthode native est disponible, il va l'utiliser.
Si votre chaîne est un ISO8601 chaîne, vous pouvez juste passer dans le constructeur de Date et d'obtenir un objet Date de retour:
Selon http://dev.enekoalonso.com/2010/09/21/date-from-iso-8601-string/ cependant, cela pourrait avoir des problèmes dans IE et d'autres plates-formes. Il vous recommande de faire quelque chose comme ceci à des fins de compatibilité: