JavaScript计算日期差的方法

作者:半夏

时间:2026-10-29

浏览:631

本文介绍了在JavaScript中计算两个日期之间天数差的两种常见方法。第一种通过转换日期为时间戳直接计算,适用于指定年月日的场景;第二种处理标准日期字符串格式,通过解析字符串并比较时间戳得出结果。文章提供了完整的函数代码及调用示例,帮助开发者快速实现日期差计算功能。

文章目录

JavaScript计算日期差的方法

本文介绍了一种使用JavaScript计算日期差的具体实现方式,供读者参考学习。

基于时间戳的日期差计算


<script type="text/javascript">
function daytonow(year, month, date){
 //思路就是转换两个日期为时间戳即毫秒数,再除以每一天的毫秒数得出相隔多少天
 //JS中的month是从0开始,所以month要减一
 month--;
 //过去的日子
 var tdate = new Date(year, month, date).getTime();
 //今天
 var tnow = new Date().getTime();
 var longdate = Math.ceil((tnow - tdate) / (1000 * 60 * 60 * 24));
 return longdate;
}
alert(daytonow(2009, 4, 5));
</script>

以下是计算两个日期之间天数差的具体代码示例:

基于日期字符串的日期差计算


//两日期串的天数之差, 前-后, sDate1-sDate2
function DateDiff(sDate1, sDate2) { //sDate1和sDate2是"2002-12-18"格式
  var aDate, oDate1, oDate2, iDays;
  aDate = sDate1.split("-");
  oDate1 = new Date(aDate[0], aDate[1] - 1, aDate[2]);
  aDate = sDate2.split("-");
  oDate2 = new Date(aDate[0], aDate[1] - 1, aDate[2]);
  iDays = parseInt(Math.abs(oDate1 - oDate2) / 1000 / 60 / 60 / 24);
  if ((oDate1 - oDate2) < 0) {
    return -iDays;
  }
  return iDays;
}
//两日期串的天数之差, 前-后, sDate1-sDate2
function DateDiff2(sDate1, sDate2) { //sDate1和sDate2是"12/18/2011"格式
  var oDate1, oDate2, iDays;
  oDate1 = new Date(sDate1);
  oDate2 = new Date(sDate2);
  var iDays = parseInt(Math.abs(oDate1 - oDate2) / 1000 / 60 / 60 / 24);
  if ((oDate1 - oDate2) < 0){
    return -iDays;
  }
  return iDays;
}

更多关于JavaScript相关内容感兴趣的读者可查看本站专题:《JavaScript查找算法技巧总结》、《JavaScript动画特效与技巧汇总》、《JavaScript错误与调试技巧总结》、《JavaScript数据结构与算法技巧总结》、《JavaScript遍历算法与技巧总结》及《JavaScript数学运算用法总结》

希望上述内容能对您的JavaScript编程工作提供帮助。

实用工具推荐

电子包浆

绿化、压缩、噪点和虚拟水印,自由调节做旧程度。

使用 ›
图片压缩

选择画质和输出格式,预览压缩前后的大小。

使用 ›
相关文章