Moment.js fonctionne avec une date valide sur Chrome mais pas avec IE ni Firefox

Donc, cela fonctionne bien dans Chrome mais pas IE (11) et Firefox

var startDate = moment("12-Nov-2015").format("D-MMM-YYYY"); var startTime = "10:00 AM"; var startDateTime = moment(startDate + ' ' + startTime); alert(moment(startDateTime).format("D-MMM-YYYY h:mm A")); 

IE et Chrome renvoient “Date non valide”

des idées quoi im manquant?

Cela s’expliquerait par le fait que “12 nov. 2015” n’est pas un format ISO 8601 valide. MomentJS a donc recours à l’parsingur de navigateur, qui est très différent selon le navigateur. Donc, ce problème serait dû au fait que Google Chrome accepte ce format mais pas IE ou Firefox, pas un problème avec Moment.

Veuillez consulter ce lien pour plus de détails: http://momentjs.com/docs/#/parsing/ssortingng/

Comme indiqué dans leur documentation, si vous utilisez un format non ISO 8601, spécifiez le format de la chaîne lors de l’parsing, à l’aide de http://momentjs.com/docs/#/parsing/ssortingng-format/

Alors

 var startDate = moment("12-Nov-2015").format("D-MMM-YYYY"); 

Devrait être

 var startDate = moment("12-Nov-2015", "D-MMM-YYYY").format("D-MMM-YYYY"); 

Veuillez consulter ici les informations relatives aux incohérences dans la date d’parsing: http://dygraphs.com/date-formats.html