这是我试图在黑莓模拟器浏览器(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>
只要 GMT 信息存在于我传递给 parse
方法的字符串中,它就会返回 NaN
,而如果 GMT 信息不存在则返回一个值.但我无法从我的字符串中删除 GMT 部分。
知道为什么会失败吗?请注意,它只发生在黑莓手机中。
提前致谢。
最佳答案
如评论中所述,您可以删除 GMT 部分:
var gmt = str.indexOf("GMT");
var newDate = str.substr(0,gmt-1)
然后解析数据:
var d = Date.parse(newDate);
最后,添加 GTM 部分:
var offset_hour = str.substr(gmt+3, 3);
var offset_min = str.substr(gmt+6);
d.addMinutes(60 * offset_hour + offset_min);
代码未测试,最后调用对应datejs图书馆。
关于Javascript Date.parse 在黑莓浏览器中返回 NaN,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7887042/