约会数学在Chrome上有效,但在Firefox或Safari上无效
Date math works on Chrome but not on Firefox or Safari
我的页面中有这个JavaScript。
function getTimeRemaining(endtime){
var t = Date.parse(endtime) Date.parse(new Date());
var seconds = Math.floor( (t/1000) % 60 );
var minutes = Math.floor( (t/1000/60) % 60 );
var hours = Math.floor( (t/(1000*60*60)) % 24 );
var days = Math.floor( t/(1000*60*60*24) );
return {
'total': t,
'days': days,
'hours': hours,
'minutes': minutes,
'seconds': seconds
};
}
结束时间是一个类似"2016-01-12 23:15:00"的日期
我的代码在Chrome上运行得很好,但在Safari和Firefox中返回NaN
。
我假设这一行:
var t = Date.parse(endtime) Date.parse(new Date());
应该是
var t = Date.parse(endtime) - Date.parse(new Date());
问题是你的结束时间的格式。由于您没有使用标准格式,因此它可能在Chrome中有效,但在其他浏览器中无效。来自MDN:
由于日期字符串的解析存在差异,建议始终手动解析字符串,因为结果不一致,尤其是在不同的ECMAScript实现中,像"2015-10-12 12:00:00"这样的字符串可能被解析为NaN、UTC或本地时区。
我对拼写错误和不完整的信息进行了一些猜测,但为了获得有用的时差:
function getTimeRemaining(endtime) {
var t = Date.parse(endtime) - (new Date()).getTime();
var seconds = Math.floor((t / 1000) % 60);
var minutes = Math.floor((t / 1000 / 60) % 60);
var hours = Math.floor((t / (1000 * 60 * 60)) % 24);
var days = Math.floor(t / (1000 * 60 * 60 * 24));
return {
'total': t,
'days': days,
'hours': hours,
'minutes': minutes,
'seconds': seconds
};
}
console.log(getTimeRemaining("2020-04-04"));
您不需要parse()
和new Date()
——它不是一个字符串,结果将是不可预测的。只需在Date
上使用getTime()
即可获得其毫秒表示。
相关文章:
- 滚动在Chrome中有效,但在Firefox或IE中无效
- 为什么这个按钮在IE中有效,但在Firefox中无效
- HTML选择,在DOM中选择了正确的选项,但在firefox中显示了错误的项目
- Ajax调用在InternetExplorer中冻结UI,但在firefox中运行良好
- JavaScript函数在Safari中有效,但在Firefox中找不到
- 聚合物准备在IE11上启动,但在Firefox或Chrome上不启动
- 使用量角器双击在chrome中效果良好,但在firefox中不起作用
- 禁用字段在IE中有效,但在Firefox中无效
- 为什么对img标记的前向引用在Chrome上失败,但在FireFox和IE上有效
- D3 xlink:“href”在Google Chrome上可以很好地附加图像,但在Firefox上则不然
- JavaScript 确认在 Chrome 或 IE 中不起作用,但在 Firefox 中工作
- d3.js变量未定义,但在Firefox控制台中,它可以工作
- 使用 jsPDF 导出 Google 图表,在 Chrome 上工作,但在 Firefox 上不工作(文档中的空白图像)
- 悬停添加类在Chrome上出现故障,但在Firefox上工作正常
- 不触发 OnClick 事件 IE8,但在 Firefox 中工作正常
- 图像大小调整在Chrome中有效,但在Firefox中则不然
- JavaScript XML解析在IE中工作,但在Firefox / Chrome中不起作用
- 使用jQuery的Internet Explorer上的Javascript错误,但在Firefox上工作正常
- Javascript在Chrome和IE中不起作用,但在Firefox中工作
- HTML5 多画布在 chrome 中运行良好,但在 Firefox 的情况下,它只能在第一个画布中工作