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)
作者最新文章
JavaScript闭包与类(Class)的区别及适用场景对比
2026-11-05 15:48:57
JavaScript入门要学ES6吗?let与箭头函数等新特性解析
2026-11-05 14:49:16
JavaScript 8种数据类型详解:基本类型与引用类型的区别
2026-11-05 14:25:15
怎么在JavaScript中使用async/await优化Ajax异步流程
2026-11-05 13:56:15
JavaScript replace回调函数实现动态正则替换逻辑
2026-11-05 13:52:13
