js 处理日期/时间问题 计算两个时间差

计算时间差原理:
getTime()方法
方法定义: getTime() 方法可返回距 1970 年 1 月 1 日之间的毫秒数。

通常我们计算时间差都是通过获取两个时间数据,然后分别使用getTime()方法返回与固定的1970 年 1 月 1 日的时间差,通过对返回毫秒数的差,换算成时间单位,得出两个时间的时间差。

计算两个时间差(时间差的毫秒数)

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中的`Date`对象来计算两个日期之间的时间差。具体方法如下: ```javascript // 计算两个日期之间的时间差 function diffDate(startDateStr, endDateStr) { var startDate = new Date(startDateStr); // 转换成Date对象 var endDate = new Date(endDateStr); // 转换成Date对象 var diff = endDate.getTime() - startDate.getTime(); // 计算时间差,单位为毫秒 var days = Math.floor(diff / (24 * 60 * 60 * 1000)); // 计算天数 var hours = Math.floor(diff / (60 * 60 * 1000)) % 24; // 计算小时数 var minutes = Math.floor(diff / (60 * 1000)) % 60; // 计算分钟数 var seconds = Math.floor(diff / 1000) % 60; // 计算秒数 var result = days + "天" + hours + "小时" + minutes + "分钟" + seconds + "秒"; return result; // 返回计算结果 } // 测试代码 var startDateStr = "2022-01-01 00:00:00"; var endDateStr = "2022-01-03 12:34:56"; var result = diffDate(startDateStr, endDateStr); alert(result); ``` 在这个例子中,我们定义了一个名为`diffDate`的函数,它接受两个日期字符串作为参数。在函数内部,我们先将这两个日期字符串转换成`Date`对象,然后计算它们之间的时间差,最后将结果格式化成一个字符串返回。注意,我们使用了一些数学计算计算天数、小时数、分钟数和秒数,这些计算涉及到除法和取模运算。 在测试代码中,我们定义了两个日期字符串,并调用`diffDate`函数计算它们之间的时间差。然后,我们将计算结果弹出一个对话框,方便查看。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值