Javascript новый объект Date из строки, различные результаты в IE и FF - PullRequest
5 голосов
/ 28 марта 2012

Я пытаюсь создать новый объект даты из строки следующим образом:

var myDate= new Date("1985-01-01T00:00:00.000-06:00");

В FireFox он сообщает следующее

Вт 01 января 1985 00:00:00 GMT-0600 (центральное стандартное время)

В IE8 он предупреждает следующее

NaN

Почему IE действует такспособ

Ответы [ 3 ]

5 голосов
/ 28 марта 2012

Глядя на документацию , правильный формат следующий:

  new Date(year, month, day [, hour, minute, second, millisecond ]) 

Так что, если вы запустите следующий код, все будет хорошо во всех браузерах:

 var myDate= new Date(1985, 01, 01 , 00, 06, 00, 0000000000);
 myDate // you get the right date in all browsers IE8/7 included
2 голосов
/ 28 марта 2012

Попробуйте moment.js для всех ваших проблем с JS Date.

0 голосов
/ 28 марта 2012

Формат не поддерживается IE. Может быть, вы можете попробовать использовать setUTCHours:

var rawdate = new Date("1985/01/01 00:00:00 GMT");
console.log(rawdate);
  //=> in my timezone: Tue Jan 1 01:00:00 UTC+0100 1985
console.log(rawdate.setUTCHours(-6));
  //=> in my timezone that results in: Mon Dec 31 19:00:00 UTC+0100 1984

Или, может быть, вы имеете в виду (работает в IE, а не в других браузерах)?

var rawdate = new Date("1985/01/01 00:00:00 GMT-6");
  //=> Tue Jan 1 07:00:00 UTC+0100 1985
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...