Je rencontrais un problème similaire dans Firefox et Safari lorsque je travaillais avec AngularJS. Par exemple, si une date renvoyée par Angular ressemblait à ceci :
2014-06-02 10:28:00
en utilisant ce code :
new Date('2014-06-02 10:28:00').toISOString();
renvoie une erreur de date invalide dans Firefox et Safari. En revanche, il fonctionne parfaitement dans Chrome. Comme l'a indiqué une autre réponse, Chrome est probablement plus souple dans l'analyse des chaînes de date.
Mon objectif final était de formater la date d'une certaine manière. J'ai trouvé une excellente bibliothèque qui gère à la fois le problème de la compatibilité entre navigateurs et celui du formatage de la date. Cette bibliothèque s'appelle moment.js .
En utilisant cette bibliothèque, le code suivant fonctionne correctement sur tous les navigateurs que j'ai testés :
moment('2014-06-02 10:28:00').format('MMM d YY')
Si vous êtes prêt à inclure cette bibliothèque supplémentaire dans votre application, vous pourrez construire plus facilement votre chaîne de dates tout en évitant les éventuels problèmes de compatibilité avec les navigateurs. En prime, vous disposerez d'un bon moyen pour formater, ajouter, soustraire, etc. les dates si nécessaire.
2 votes
Si vous voulez jouer avec de la manière que vous voulez, allez-y. datejs.com
0 votes
Toutes les implémentations ne prennent pas en charge le format de l'ECMA-262. Il faut donc toujours analyser manuellement les chaînes de caractères (une bibliothèque peut aider mais n'est probablement pas nécessaire pour les formats uniques).
0 votes
Cela fonctionne avec Firefox maintenant.