2

我在使用 Jquerynew 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这个 jquerynew 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

为什么这段代码在不同的浏览器中返回不同的值?

试试 Jsfiddle

4

1 回答 1

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)它是标准且跨浏览器安全的

希望这可以帮助

于 2013-07-26T07:48:02.190 回答