为什么Jquery Date在Chrome中有不同的价值?

时间:2013-07-26 07:28:51

标签: javascript jquery google-chrome

当我使用Jquery new Date函数时,我遇到了问题。

我的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

1 个答案:

答案 0 :(得分: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)安全

希望这有帮助