2013-07-26 2 views
2

У меня проблема, когда я работал с JQuery new Date функции.Почему JQuery Date дает другое значение в Chrome?

Мой Jquery код -

alert(new Date('/2013' + " 12:30 am")); 
if (!isNaN(new Date('/2013' + " 12:30 am"))) { 
    alert('true'); 
} else { 
    alert('false'); 
} 

Когда я выполнить этот код в Chrome он всегда возвращает меня true, но на другой браузер, как Firefox, это даст false.

Когда alert это JQuery new Date('/2013' + " 12:30 am") код -

В Chrome это отдавания - new Date('/2013' + " 12:30 am") отдавания - Tue Jan 01 2013 00:30:00 GMT+0530 (India Standard Time).

В Firefox это дает - Invalid Date.

Почему этот код возвращает другое значение в другом браузере?

Try Jsfiddle

+0

просто поставить 'предупреждение (IsNaN (новую Дату ('/ 2013 '+ "12:30 утра"))) 'outsid e цикл и посмотреть, что он возвращает – coolguy

+0

Отметьте это сообщение http://stackoverflow.com/questions/3257460/new-date-is-working-in-chrome-but-not-firefox –

+1

Это чистый JavaScript, я не знаю Я вообще не вижу ссылок на JQuery. Вы должны пометить его «javascript». –

ответ

1

В Firefox при вызове new Date(string) статический метод Date.parse(string) называется.

Но формат строки, который вы использовали не поддерживается в Firefox, взгляните на документацию MDN:

https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Date/parse?redirectlocale=en-US&redirectslug=JavaScript%2FReference%2FGlobal_Objects%2FDate%2Fparse

Я не знаю, почему Chrome принимает этот формат (я не мог управлять найти официальные документы), но это не кросс браузера безопасности, я хотел бы предложить использовать new Date (year, month, date, hours, minutes, seconds, ms), который является стандартным и кроссом-браузером безопасного

Надеется, что это помогает

Смежные вопросы