用js怎么计算两个日期之间的时间差?
差值区分工作时间(早上9点到下午6点)和非工作时间分别计算;工作时间显示:08:20,非工作时间:08:30;或者其它解决方法...
差值区分工作时间(早上9点到下午6点)和非工作时间分别计算;工作时间显示:08:20,非工作时间:08:30;或者其它解决方法
展开
4个回答
展开全部
//+---------------------------------------------------
//| 求两个时间的天数差 日期格式为 YYYY-MM-dd
//+---------------------------------------------------
function daysBetween(DateOne,DateTwo)
{
var OneMonth = DateOne.substring(5,DateOne.lastIndexOf ('-'));
var OneDay = DateOne.substring(DateOne.length,DateOne.lastIndexOf ('-')+1);
var OneYear = DateOne.substring(0,DateOne.indexOf ('-'));
var TwoMonth = DateTwo.substring(5,DateTwo.lastIndexOf ('-'));
var TwoDay = DateTwo.substring(DateTwo.length,DateTwo.lastIndexOf ('-')+1);
var TwoYear = DateTwo.substring(0,DateTwo.indexOf ('-'));
var cha=((Date.parse(OneMonth+'/'+OneDay+'/'+OneYear)- Date.parse(TwoMonth+'/'+TwoDay+'/'+TwoYear))/86400000);
return Math.abs(cha);
}
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
获取两个时间的小时和分秒,统统计算出秒,然后计算出查值,再把差值转换分钟,就知道时间差了。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
function diffDate(str1, str2) {
str1 = str1.replace(/-/g, "/");
str2 = str2.replace(/-/g, "/");
var d1;
var d2;
var diffday = 0;
if (str1 == "") {
d1 = new Date();
} else {
d1 = new Date(str1);
}
if (str2 == "") {
d2 = new Date();
} else {
d2 = new Date(str2);
}
diffday = Date.parse(d1) - Date.parse(d2);
diffday = diffday.toFixed(2) / 86400000 ;
return diffday;
}
str1 = str1.replace(/-/g, "/");
str2 = str2.replace(/-/g, "/");
var d1;
var d2;
var diffday = 0;
if (str1 == "") {
d1 = new Date();
} else {
d1 = new Date(str1);
}
if (str2 == "") {
d2 = new Date();
} else {
d2 = new Date(str2);
}
diffday = Date.parse(d1) - Date.parse(d2);
diffday = diffday.toFixed(2) / 86400000 ;
return diffday;
}
本回答被提问者和网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
<script type="text/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));
}
var result = GetDateDiff("2010-02-26 16:00:00", "2011-07-02 21:48:40", "day");
alert(result);
</script>
/*
* 获得时间差,时间格式为 年-月-日 小时:分钟:秒 或者 年/月/日 小时:分钟:秒
* 其中,年月日为全格式,例如 : 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));
}
var result = GetDateDiff("2010-02-26 16:00:00", "2011-07-02 21:48:40", "day");
alert(result);
</script>
本回答被网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询