在 Javascript 中,计算两个日期之间的时间差是一个常见的需求。本文提供了一个通用的方法来实现这一功能。
该方法支持以下时间格式:
- 年-月-日 小时:分钟:秒
- 年/月/日 小时:分钟:秒
返回的时间差可以是秒、分钟、小时或天数。
// 计算时间差
/**
* 获得时间差,时间格式为 年-月-日 小时:分钟:秒 或者 年/月/日 小时:分钟:秒
* 其中,年月日为全格式,例如:2010-10-12 01:00:00
* 返回精度为:秒、分钟、小时、天
*/
function calculateTimeDifference(startTime, endTime, diffType) {
// 将 xxxx-xx-xx 的时间格式转换为 xxxx/xx/xx 的格式
startTime = startTime.replace(/-/g, '/');
endTime = endTime.replace(/-/g, '/');
// 将计算间隔类型字符转换为小写
diffType = diffType.toLowerCase();
var startDate = new Date(startTime); // 开始时间
var endDate = new Date(endTime); // 结束时间
// 作为除数的数字
var divisor = 1;
switch (diffType) {
case 'second':
divisor = 1000;
break;
case 'minute':
divisor = 1000 * 60;
break;
case 'hour':
divisor = 1000 * 3600;
break;
case 'day':
divisor = 1000 * 3600 * 24;
break;
default:
break;
}
return parseInt((endDate.getTime() - startDate.getTime()) / parseInt(divisor));
}
通过上述代码,您可以轻松地计算两个日期之间的精确时间差。此方法适用于各种时间格式,并且可以根据需要返回不同精度的时间差。
参考链接:https://www.cnblogs.com/duanzq/archive/2012/02/03/2336805.html