繁体   English   中英

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

[英]Javascript Date.parse returning NaN in blackberry browser

这是我试图在黑莓模拟器浏览器(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库。

我不得不创建自己的日期字符串,BlackBerry很乐意解析。 我没有添加GMT。

// manually create date string because of BlackBerry parse method
var dateStr=dateObj.getDay()+' '+dateObj.getDate()+' 'dateObj.getMonth()+' '+dateObj.getFullYear()+' '+dateObj.getHours()+':'+dateObj.getMinutes()+':'+'00';
var mydate = Date.parse(dateStr); // works

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM