JavaScript自定义时间差计算函数实现

作者:半夏时间:2026-10-28 04:36:31浏览:112

本文介绍了一个简单的JavaScript自定义函数,用于计算两个日期字符串之间的时间差。支持年-月-日格式,可返回秒、分、小时或天的差值。通过正则替换统一格式后,利用Date对象获取时间戳进行数学运算,实现不同精度单位的快速计算。

JavaScript时间差计算函数实现

这段代码由个人编写,主要满足基本使用需求,并非最优方案,后续仍有优化空间。此处仅作记录,直接展示代码部分。

具体实现代码如下:

/*
* 获取时间差,输入的时间格式需为“年-月-日 小时:分钟:秒”或“年/月/日 小时:分钟:秒”
* 年月日部分需为完整格式,例如:2010-10-12 01:00:00
* 返回结果的精度单位包括:秒、分、小时、天
 */
function GetDateDiff(startTime, endTime, diffType)
{
//将格式为 xxxx-xx-xx 的时间字符串转换为 xxxx/xx/xx 格式
startTime = startTime.replace(/\-/g, "/");
endTime = endTime.replace(/\-/g, "/");
//将表示计算间隔类型的参数转换为小写
diffType = diffType.toLowerCase();
var sTime = new Date(startTime); //开始时间
 var eTime = new Date(endTime); //结束时间
 //作为除数的数字
 var divNum = 1;
 switch (diffType)
 {
 case "second":
 divNum = 1000;
 break;
 case "minute":
 divNum = 1000 * 60;
 break;
 case "hour":
 divNum = 1000 * 3600;
 break;
 case "day":
 divNum = 1000 * 3600 * 24;
 break;
 default:
 break;
 }
 return parseInt((eTime.getTime() - sTime.getTime()) / parseInt(divNum));
}

调用该函数的方式十分简便:


GetDateDiff("2010-10-11 00:00:00", "2010-10-11 00:01:40", "day")


上述调用用于计算天数差。


GetDateDiff("2010-10-11 00:00:00", "2010-10-11 00:01:40", "seond") 用于计算秒数差(注意参数拼写为seond)


作者最新文章