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

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了用js怎么计算两个日期之间的时间差?相关的知识,希望对你有一定的参考价值。

差值区分工作时间(早上9点到下午6点)和非工作时间分别计算;工作时间显示:08:20,非工作时间:08:30;或者其它解决方法

参考技术A //+---------------------------------------------------  
//| 求两个时间的天数差 日期格式为 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);  

参考技术B 获取两个时间的小时和分秒,统统计算出秒,然后计算出查值,再把差值转换分钟,就知道时间差了。 参考技术C 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;
本回答被提问者和网友采纳
参考技术D <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>

以上是关于用js怎么计算两个日期之间的时间差?的主要内容,如果未能解决你的问题,请参考以下文章

js 怎么计算出 两个日期之间相差多少月 比如:

js怎么计算2个日期之间差多少天

用js计算本周日期

怎么用excel计算两个日期之间的间隔年限?

js计算两个日期间的所有日期

用java怎么计算两个日期之间年数,季度数,月数