Moment.js funciona con una fecha válida en Chrome pero no en IE o Firefox

Así que esto funciona bien en Chrome pero no en IE (11) y 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 y Chrome simplemente devuelven “Fecha no válida”

¿Alguna idea de lo que me falta?

Esto se debe a que “12-Nov-2015” no es un formato ISO 8601 válido, por lo que MomentJS recurre al analizador del navegador, que es bastante diferente según el navegador. Entonces, este problema podría deberse a que Google Chrome acepta ese formato pero no IE o Firefox, no es un problema con Moment.

Consulte este enlace para obtener más detalles: http://momentjs.com/docs/#/parsing/string/

Como indica la documentación, si utiliza un formato que no es ISO 8601, especifique el formato de la cadena al analizar, utilizando http://momentjs.com/docs/#/parsing/string-format/

Asi que

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

Debiera ser

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

Consulte aquí para obtener información en las inconsistencias de análisis de fecha: http://dygraphs.com/date-formats.html