指引网

当前位置: 主页 > 网页制作 > JavaScript >

JS计算两个日期时间差

来源:网络 作者:佚名 点击: 时间:2017-08-07 22:13
[摘要] JS计算两个日期时间差
//获取两个日期的时间差开始
var v = new Date();
var e = new Date();
var getDateCha = function(beginDate, endDate) {//date类型
var res = {
D: 0,
H: 0,
M: 0,
S: 0,
abs: true,
error: false
};
//属性形式验证:第一次参数必须是Date类型,第二个参数可以为空,默认为new Date()
if(typeof(endDate) == "undefined" || null == endDate || "" == endDate) {
endDate = new Date();
}
if(!(beginDate instanceof(Date)) || !(endDate instanceof(Date))) {
res.error = true; //"非法时间字符串";
return res;
}
 
//比较大小,保证差值一定是正数。
if(beginDate > endDate) {
var tempDate = beginDate;
beginDate = endDate;
endDate = tempDate;
res.abs = false; //表示beginDate大于endDate
}
var chaTime = (endDate.getTime() - beginDate.getTime());
 
var Day_Param = 1000 * 60 * 60 * 24; //一天等于毫秒数
var Hour_Param = 1000 * 60 * 60; //一小时等于毫秒数
res.D = Math.floor(chaTime / (Day_Param)); //
 
chaTime = chaTime - res.D * Day_Param; //减去天的毫秒数。再求小时个数
res.H = Math.floor(chaTime / (Hour_Param));
chaTime = chaTime - res.H * Hour_Param; //减去小时的毫秒数。再求分钟个数
res.M = Math.floor(chaTime / (1000 * 60));
res.S = (chaTime - res.M * 1000 * 60) / 1000; //减去分钟的毫秒数。再求秒的个数
//alert(res.S);
 
res.toString = function() {
return this.D;
//           + "日" + this.H + "小时" + this.M + "分钟"
};
return res;
 
}
 
function getTime(startTime, endTime) {//string类型2015-9-8
var times1 = startTime.split('-');
v.setFullYear(times1[0]);
v.setMonth(times1[1] - 1);
v.setDate(times1[2]);
 
var times2 = endTime.split('-');
e.setFullYear(times2[0]);
e.setMonth(times2[1] - 1);
e.setDate(times2[2]);
 
var ressult = getDateCha(v, e).toString();// getDateCha(v, e)方法调用
return ressult;
}
//获取两个日期的时间差结束
------分隔线----------------------------