function diffTime(startDate,endDate) {
startDate= new Date(startDate);
endDate = new Date(endDate);
var diff=endDate.getTime() - startDate.getTime();//时间差的毫秒数 //计算出相差天数
var days=Math.floor(diff/(24*3600*1000)); //计算出小时数
var leave1=diff%(24*3600*1000); //计算天数后剩余的毫秒数
var hours=Math.floor(leave1/(3600*1000));
//计算相差分钟数
var leave2=leave1%(3600*1000); //计算小时数后剩余的毫秒数
var minutes=Math.floor(leave2/(60*1000)); //计算相差秒数
var leave3=leave2%(60*1000); //计算分钟数后剩余的毫秒数
var seconds=Math.round(leave3/1000); var returnStr = seconds + "秒";
if(minutes>0) {
returnStr = minutes + "分" + returnStr;
}
if(hours>0) {
returnStr = hours + "小时" + returnStr;
}
if(days>0) {
returnStr = days + "天" + returnStr;
}
return returnStr;
}

  用法:

var diffTimeShow = diffTime('2017-03-02 09:10','2017-03-17 04:10');

  1. var st1 = "2008-8-1 8:50:01";
  2. var st2 = "2008-8-3 8:50:01";
  3. var time1 = new Date(st1);                                //创建时间1
  4. var tiem2 = new Date(st2);                                //创建时间2
  5. /*
  6. *如果求的时间差为天数则处以864000000,如果是小时数则在这个数字上
  7. *除以24,分钟数则再除以60,依此类推
  8. */
  9. var days = (time1.getTime() - time2.getTime()) / 86400000;
  10. alert(days);

或者 用另一个方法:

/*
* 获得时间差,时间格式为 年-月-日 小时:分钟:秒 或者 年/月/日 小时:分钟:秒
* 其中,年月日为全格式,例如 : 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 testDate = new Date();
var testStr = testDate.format("yyyy-MM-dd hh:mm:ss"); var result = GetDateDiff("2010-02-26 16:00:00", testStr, "day");
document.write("两者时间差为:" + result + "天了。");

  原文链接:http://caibaojian.com/javascript-getdatadiff.html

使用的方法很简单,比如计算天数可以这样:·

GetDateDiff("2010-02-26 16:00:00", "2011-07-02 21:48:40", "day");
 

JS计算两个日期时间差,天 小时 分 秒格式的更多相关文章

  1. js计算两个日期相隔几小时几分钟?

        var dt1 = "2009-11-5 10:30"       var dt2 = "2009-11-8 9:20"     function ge ...

  2. js计算两个日期的天数差值

    js计算两个日期的天数差值 通过两个日期计算这两个日期之间的天数差值 /** * 计算天数差的函数,通用 * @param sDate1 * @param sDate2 * @returns {Num ...

  3. JS计算两个日期之间的天数

    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/ ...

  4. php计算两个日期时间差(返回年、月、日)

    在PHP程序中,很多时候都会遇到处理时间的问题,比如:判断用户在线了多长时间,共登录了多少天,两个帖子发布的时间差或者是不同操作之间的日志记录等等.在文章中,简单地举例介绍了PHP中如何计算两个日期相 ...

  5. js 计算两个日期之间的月数

    //返回两个日期相差的月数 function MonthsBetw(date1, date2) { //用-分成数组 date1 = date1.split("-"); date2 ...

  6. SWIFT中计算两个日期间隔多少小时

    SWIFT中如何计算两个日期间隔多少个小时,其实几句代码就可以搞定了,Very Easy,在Playground内输入以下代码 var date1 = "2015-06-26 8:15:10 ...

  7. js 计算两个日期之间的周数

    //返回两个日期相差的周数 function WeeksBetw(date1, date2) { //这里的date1,date2都是Date对象 var d1 = new Date(date1); ...

  8. js计算两个日期的月份差?

    //两个日期 var date1 = '2013-03-26'; var date2 = '2011-01-10'; // 拆分年月日 date1 = date1.split('-'); // 得到月 ...

  9. JS计算两个日期之间的天数,时间差计算

    1.日期之间的天数计算 //计算天数差的函数,通用 function DateDiff(sDate1, sDate2) { //sDate1和sDate2是2017-9-25格式 var aDate, ...

随机推荐

  1. CCF 201512-1 数位之和 (水题)

    问题描述 给定一个十进制整数n,输出n的各位数字之和. 输入格式 输入一个整数n. 输出格式 输出一个整数,表示答案. 样例输入 20151220 样例输出 13 样例说明 20151220的各位数字 ...

  2. JSONObject put List<Double> 后转化为String问题的解决办法

    //原代码 JSONObject powerCurveJsonObj = new JSONObject(); powerCurveJsonObj.put("test",[0.5, ...

  3. 51nod1247(gcd)

    题目链接:http://www.51nod.com/onlineJudge/questionCode.html#!problemId=1247 题意:中文题诶- 思路:(a, b)可以直接到达(a+b ...

  4. 请写出JAVA弹栈压栈的步骤, 栈的存储方式

    一.栈的作用 1. 栈的存放 局部变量 堆中对象的引用(对象在堆内存中的地址)   一个对象的大小无法估计,但是一个对象的引用只占4byte   基本数据类型的变量没有什么存储区域的说法,内存中分为两 ...

  5. 即时通讯新手入门:一文读懂什么是Nginx?它能否实现IM的负载均衡?

    本文引用了“蔷薇Nina”的“Nginx 相关介绍(Nginx是什么?能干嘛?)”一文部分内容,感谢作者的无私分享. 1.引言   Nginx(及其衍生产品)是目前被大量使用的服务端反向代理和负载均衡 ...

  6. ADO学途 three day

    1· 程序的根本----数据 一个程序是用来处理数据算法的具体表现,可以说没有数据,程序就没有意义.今天主 要分享在一个程序中数据的支持者SQL server的建立和使用.首先当然不可缺少SQL se ...

  7. 在linux下pycharm无法输入中文

    1.在centos系统下,在pycharm中,输入中文件时,显示的字母,无法显示中文字符. 首先,在centos下安装中文输入法,下面安装的是五笔输入法. a::yum安装ibus的五笔输入法: yu ...

  8. POJ-1258-Agri Ned

    链接:https://vjudge.net/problem/POJ-1258#author=fuxianda 题意: 有n个农场,已知这n个农场都互相相通,有一定的距离,现在每个农场需要装光纤,问怎么 ...

  9. 基于阿里云SLB/ESS/EIP/ECS/VPC的同城高可用方案演练

    今天基于阿里云SLB/ESS/EIP/ECS/VPC等产品进行了一次同城高可用方案演练: 基本步骤如下: 1. 在华东1创建VPC网络VPC1,在华东1可用区B和G各创建一个虚拟交换机vpc1_swi ...

  10. log4j打印错误日志输出 利用sql取出的值放在list集合中,集合中的字段类型为映射类类型

    public ServiceResult<List<KefuDetail>> MaxRespondtime(Date startDate,Date endDate, Strin ...