gpt4 book ai didi

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

转载 作者:行者123 更新时间:2023-11-28 20:06:17 25 4
gpt4 key购买 nike

我有一个在 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/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com