用js怎么计算两个日期之间的时间差?

差值区分工作时间(早上9点到下午6点)和非工作时间分别计算;工作时间显示:08:20,非工作时间:08:30;或者其它解决方法... 差值区分工作时间(早上9点到下午6点)和非工作时间分别计算;工作时间显示:08:20,非工作时间:08:30;或者其它解决方法 展开
 我来答
莘赡05V
推荐于2016-07-18 · 知道合伙人软件行家
莘赡05V
知道合伙人软件行家
采纳数:1397 获赞数:3710
毕业安徽理工大学

向TA提问 私信TA
展开全部
//+---------------------------------------------------  
//| 求两个时间的天数差 日期格式为 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);  
}
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
骨钰
2013-03-29 · TA获得超过127个赞
知道答主
回答量:109
采纳率:100%
帮助的人:68.9万
展开全部
获取两个时间的小时和分秒,统统计算出秒,然后计算出查值,再把差值转换分钟,就知道时间差了。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
gybmike
2013-03-29 · TA获得超过367个赞
知道小有建树答主
回答量:512
采纳率:0%
帮助的人:297万
展开全部
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;
}
本回答被提问者和网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
百度网友e1abcca7
推荐于2018-03-08 · TA获得超过163个赞
知道小有建树答主
回答量:372
采纳率:100%
帮助的人:204万
展开全部
<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>
本回答被网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 1条折叠回答
收起 更多回答(2)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式