В IE9 Quirks Mode Date.parse возвращает NaN - PullRequest
2 голосов
/ 17 ноября 2011

Я пытаюсь выяснить, почему Date.parse (javascript) возвращает NaN, когда применяется к кажущейся допустимой строке даты ISO 8601, когда IE9 находится в режиме Quirks. Работает нормально в режиме Стандартов.

//ReturnsNaN in Quirks Mode, 1270574382557 in Standards Mode
document.write(Date.parse("2010-04-06T17:19:42.557"));  

//Returns NaN in Quirks Mode, 1270512000000 in Standards Mode
document.write(Date.parse("2010-04-06"));       

В отличие от меня, в «Причудах» и «Стандартах» работает следующее:

//Returns 1270549182000 in both Quirks and Standards Modes  
document.write(Date.parse("2010/04/06T17:19:42"));  

Кто-нибудь еще видит это поведение? Если да, есть идеи, почему Date.parse возвращает NaN?

1 Ответ

1 голос
/ 17 ноября 2011

Прежде всего, вы должны понимать, что режим совместимости - это режим совместимости с IE5.

Это вызвано отсутствием действительной декларации.Основной эффект заключается в том, что он заставляет браузер использовать блочную модель IE5, что означает, что все ваши отступы, поля и границы, а также все остальное, что влияет на размер рамки, будут неверными.

Таким образом, вашDate.parse не работает, потому что такой функции не было - «разбирать дату ISO 8601» в эти даты.

...