Javascript Date.parse在黑莓浏览器中返回NaN

use*_*284 5 html javascript blackberry blackberry-simulator

这是我试图在黑莓模拟器浏览器(OS V6.0)中运行的代码.

<html>
<body>

<script type="text/javascript">
var d = Date.parse("Tue Oct 25 2011 18:33:17 GMT+0230");
var d1 = Date.parse("Tue Oct 25 2011 18:33:17");
document.write(d+"::::::"+d1);

</script>

</body>
</html>
Run Code Online (Sandbox Code Playgroud)

每当GMT信息存在于我传递给parse方法的字符串中时,它返回NaN,而如果GMT信息不存在则返回一个值.但是我不能从我的字符串中删除GMT部分.

知道为什么会失败吗?请注意它只发生在黑莓手机上.

提前致谢.

Iva*_*van 4

正如评论中所述,您可以删除 GMT 部分:

var gmt = str.indexOf("GMT");
var newDate = str.substr(0,gmt-1)
Run Code Online (Sandbox Code Playgroud)

然后解析数据:

var d = Date.parse(newDate);
Run Code Online (Sandbox Code Playgroud)

最后,添加 GTM 部分:

var offset_hour = str.substr(gmt+3, 3);
var offset_min = str.substr(gmt+6);
d.addMinutes(60 * offset_hour + offset_min);
Run Code Online (Sandbox Code Playgroud)

代码未测试,最后调用对应的是datejs库。