JavaScript计算两个时间差(天、时、分、秒、毫秒)的实现方法

作者:闭包旅人

时间:2026-10-23

浏览:622

本文介绍了在JavaScript中计算两个时间点之间差值的方法,涵盖天、小时、分钟、秒及毫秒的完整转换逻辑。通过获取当前时间与指定时间的毫秒差,利用数学取整与取余运算逐级分解时间单位,提供两种常见实现方案供开发者参考。

文章目录

JavaScript计算时间差的实现方案

具体实现代码如下:


// 计算两个时间差 dateBegin 开始时间
function timeFn(dateBegin) {
  //如果时间格式是正确的,那下面这一步转化时间格式就可以不用了
  var dateEnd = new Date();//获取当前时间
  var dateDiff = dateEnd.getTime() - dateBegin;//时间差的毫秒数
  var dayDiff = Math.floor(dateDiff / (24 * 3600 * 1000));//计算出相差天数
  var leave1=dateDiff%(24*3600*1000)  //计算天数后剩余的毫秒数
  var hours=Math.floor(leave1/(3600*1000))//计算出小时数
  //计算相差分钟数
  var leave2=leave1%(3600*1000)  //计算小时数后剩余的毫秒数
  var minutes=Math.floor(leave2/(60*1000))//计算相差分钟数
  //计算相差秒数
  var leave3=leave2%(60*1000)   //计算分钟数后剩余的毫秒数
  var seconds=Math.round(leave3/1000)
  var leave4=leave3%(60*1000)   //计算分钟数后剩余的毫秒数
  var minseconds=Math.round(leave4/1000)
  var timeFn = "耗时:"+dayDiff+"天 "+hours+"小时 "+minutes+" 分钟"+seconds+" 秒"+minseconds+"毫秒";
  return timeFn;
}

接下来介绍一种基于JavaScript计算时间差值的方案,涉及天数、小时数及余数的处理。


var begintime_ms = Date.parse(new Date(begintime.replace(/-/g, "/"))); //begintime 为开始时间 
var endtime_ms = Date.parse(new Date(endtime.replace(/-/g, "/")));  // endtime 为结束时间 
得到的结果为 毫秒数,可根据 毫秒数的大小,来判断时间。 
当然根据毫秒数 可以根据他们的差值 来求相差的天数或是小时等。 
------------------------------- 
以上是求得 用户输入时间的毫秒数 
var date1=new Date(); //开始时间 
var date2=new Date();  //结束时间 
var date3=date2.getTime()-date1.getTime() //时间差的毫秒数 
------------------------------ 
//计算出相差天数 
var days=Math.floor(date3/(24*3600*1000)) 
//计算出小时数 
var leave1=date3%(24*3600*1000)  //计算天数后剩余的毫秒数 
var hours=Math.floor(leave1/(3600*1000)) 
//计算相差分钟数 
var leave2=leave1%(3600*1000)    //计算小时数后剩余的毫秒数 
var minutes=Math.floor(leave2/(60*1000)) 
//计算相差秒数 
var leave3=leave2%(60*1000)   //计算分钟数后剩余的毫秒数 
var seconds=Math.round(leave3/1000) 
alert(" 相差 "+days+"天 "+hours+"小时 "+minutes+" 分钟"+seconds+" 秒") 

内容总结

上述内容介绍了JavaScript中计算两个时间差(包含天、时、分、秒、毫秒)的代码实现,希望能为读者提供帮助。如有任何疑问,欢迎留言,作者将及时回复。

实用工具推荐

电子包浆

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

使用 ›
图片压缩

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

使用 ›
相关文章