本文介绍了在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中计算两个时间差(包含天、时、分、秒、毫秒)的代码实现,希望能为读者提供帮助。如有任何疑问,欢迎留言,作者将及时回复。