Javascript date de l'analyse sur Iphone
Je suis en train de travailler sur un mode hors connexion capabable Javascript site qui cible les appareils mobiles. Un tel appareil mobile de l'IPhone.
Je suis en train d'analyser une date à partir de notre API REST (un membre de l'objet JSON). Je suis en utilisant
Date.parse("2010-03-15 10:30:00");
Cela fonctionne sur les appareils Android, mais sur IPhone, il donne juste une date non valide.
Comment dois-je formater ma chaîne de date de sorte qu'il peut être analysé par l'IPhone?
- Essayez cette solution, il a travaillé pour moi: stackoverflow.com/a/3085993/1371408
Vous devez vous connecter pour publier un commentaire.
Pas tous les navigateurs prennent en charge les mêmes formats de date. La meilleure approche est de séparer la chaîne de caractères de séparation (
et
-
,:
) au lieu de cela, et chacun de passer le tableau résultant des éléments à laDate
constructeur:Ce travail sera le même dans tous les navigateurs.
T
à votre regex à l'appui de la norme ISO 8601Date.parse("2010/03/15 10:30:00");
œuvres, dit en remplaçant '-' avec '/'./[- :]/
à/[- :\/]/
UTC/GMT temps, vous pouvez essayer:
La date de l'objet s'affiche dans le bon fuseau horaire local lorsqu'il est utilisé.
-
n'a pas besoin d'être échappés au début ou à la fin des classes de personnages et+
n'a pas besoin d'être échappés n'importe où dans les classes de personnage. La même chose que:/[-+ :T]/
Vous pourriez avoir plus de chance si vous vous en tenez à ISO 8601 format:
Si vous pouvez corriger votre REST API pour envoyer des ISO 8601 date de fois, la bonne façon de gérer cela est d'utiliser un regex cale qui permet à tous les navigateurs de processus ISO 8601 dates. Bien sûr, il pourrait être plus lente, mais de la manipulation de dates avec le Javascript, c'est comme essayer d'obtenir un chat dans une baignoire d'eau.
Garder à l'esprit la méthode suivante remplace la Date initiale.méthode d'analyse. Cela pourrait être problématique dans les grands projets ou avec de nombreux développeurs avec des attentes différentes. À utiliser uniquement si vous êtes au courant de ce que vous faites.
https://github.com/csnover/js-iso8601