Подтвердить что ты не робот

Ошибка Javascript с ошибкой в ​​Internet Explorer

Относительно простой javascript здесь, не уверен, почему IE ненавидит меня (относитесь к другим, как вы хотите, чтобы меня рассматривали, я полагаю).

var newDate = new Date("2012, 11, 2 19:30:00:000");
alert(newDate);

Это работает в Chrome и FF, но IE выводит "Недействительная дата"

Скажите мне это: http://jsfiddle.net/k6yD6/

4b9b3361

Ответ 2

IE, похоже, не поддерживает миллисекунду и месяцы в Numerical String. Попробуйте следующее:

new Date("November 2, 2012 19:30:00");

или

new Date(year, month, day, hours, minutes, seconds, milliseconds)

Ответ 3

У меня была такая же проблема с Internet Explorer. Вот как я форматировал дату и время изначально,

function formatDateTime(date, formatString = 'MM/DD/YYYY hh:mm A') {
  return moment(new Date(date)).format(formatString);
}

Проблема заключалась в new Date(). Я просто удалил его, поскольку это уже была дата UTC. Так что это просто,

return moment(date).format(formatString);

Это работало для меня во всех браузерах, включая IE.

Ответ 5

Чтобы работать в IE, дата должна быть в правильном формате. Я исправил эту проблему, используя следующий формат:

var tDate = new Date('2011'+"-"+'01'+"-"+'01'); //Year-Month-day

Ответ 6

использование

var newDate = moment("2012, 11, 2 19:30:00:000").toDate();
alert(newDate);

Это тоже будет работать в IE.