初学者 这段代码为什么计算出的数值不对?

初学者 这段代码为什么计算出的数值不对?

var now=new Date();  //以现在的时间定义日期对象
var SpringFestival=new Date(2018,2,16,0,0,0); //以2018年春节定义日期对象
var msel=SpringFestival-now  //相差毫秒数
//输出相差的时间
document.write("今天是:"+now.toLocaleString()+"<br>");
document.write("距离2018年春节还有:"+msel+"毫秒<br>");
document.write("距离2018年春节还有:"+parseInt(msel/1000)+"秒<br>");
document.write("距离2018年春节还有:"+parseInt(msel/(60*1000))+"分钟<br>");
document.write("距离2018年春节还有:"+parseInt(msel/(60*60*1000))+"小时<br>");
document.write("距离2018年春节还有:"+parseInt(msel/(24*60*60*1000))+"天<br>");

clipboard.png

阅读 1.8k
2 个回答

月份从 0 开始数,还有 parseInt 是处理字符串的,不要对数字 parseInt,有隐患。用 Math.floor

因为month是从0开始到11的计数。

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题