javascript - 在 Windows Safari 浏览器中显示 Nan 值

标签 javascript

我有一个在 Chrome 和 Firefox 中运行良好的脚本,但是当在 Safari 版本 5.1.7 上尝试同样的操作时,它可能是显示 NAN 值的 Windows 的最新版本,任何人都可以帮助我解决这个问题,我尝试了 parseInt,但没有成功。不工作。

这是我的代码;

var date1 = new Date($('#arrival').val());
var  date2 = new Date($('#departure').val());
var timeDiff = Math.abs(date2.getTime() - date1.getTime());
var diffDays = Math.ceil(timeDiff / (1000 * 3600 * 24)); 
   //parseInt("0"+$(this).html(),10) 
diffDays=parseInt(diffDays);
console.log('Selected diffDays: '+diffDays);

parsint 的注释部分显示为 0。

最佳答案

最可能的答案是 Safari 不支持您从 #arrival#departure 字段读取的日期格式。 JavaScript 只有 one date string format这是合规实现中所需要的,而且这是最近的事(大约三年前,从 ES5 开始)。 (也就是说,我从未遇到过不支持 yyyy/MM/dd 的浏览器,但结果日期的时区有所不同。)

如果将无效字符串输入new Date(),则会得到无效日期。 getTime 方法返回带有无效日期的 NaN,当然,它会在整个计算中传播(因为所有数学运算符的结果都是 NaN,如果任何操作数都是 NaN)。

解决方案是确保字符串采用受支持的格式,或者自己解析它们。还有一些库可以提供帮助,例如 MomentJS .

关于javascript - 在 Windows Safari 浏览器中显示 Nan 值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20745557/

相关文章:

javascript - 测量同级元素的总高度

Javascript/jQuery : Why different result for event. 目标使用 <a> 标签对比。 console.log 中的其他元素,注意 $(this) 的 alert()

javascript - Facebook 评论计数 IE8 innerHTML 错误

php - 确定浏览器主页

Javascript Masonry 不适用于创建的元素

javascript - 如何在 div 中附加和删除图像(javascript 和 html)

javascript - 如何获取属性值的一部分?

javascript - 附加浏览文件输入不显示预览图像

javascript - 单词边界匹配 float 后跟可选空格

javascript - 浏览器缩放未对齐的解决方法