JavaScript如何计算两个日期间的时间差
2014-10-19 14:15
387 查看
有时候我们需要知道两个日期之间差了多少天,多少小时,甚至多少分钟多少秒。下面我们用JavaScript实现一个函数,用于计算两个日期的时间差,先来看看代码:
使用的方法很简单,比如计算天数可以这样:
计算秒数则可以这样:
实例程序的运行结果如下:
简明现代魔法www.nowamagic.net建站已有1695天了。
01 | <scripttype= "text/javascript" > |
02 |
03 | /** |
04 | *时间对象的格式化; |
05 | */ |
06 | Date.prototype.format= function (format){ |
07 | /* |
08 | *eg:format="YYYY-MM-ddhh:mm:ss"; |
09 | */ |
10 | var o={ |
11 | "M+" : this .getMonth()+1, //month |
12 | "d+" : this .getDate(), //day |
13 | "h+" : this .getHours(), //hour |
14 | "m+" : this .getMinutes(), //minute |
15 | "s+" : this .getSeconds(), //second |
16 | "q+" :Math.floor(( this .getMonth()+3)/3), //quarter |
17 | "S" : this .getMilliseconds() //millisecond |
18 | } |
19 |
20 | if (/(y+)/.test(format)){ |
21 | format=format.replace(RegExp.$1,( this .getFullYear()+ "" ).substr(4-RegExp.$1.length)); |
22 | } |
23 |
24 | for ( var k in o){ |
25 | if ( new RegExp( "(" +k+ ")" ).test(format)){ |
26 | format=format.replace(RegExp.$1,RegExp.$1.length==1?o[k]:( "00" +o[k]).substr(( "" +o[k]).length)); |
27 | } |
28 | } |
29 | return format; |
30 | } |
31 |
32 |
33 | /* |
34 | *获得时间差,时间格式为年-月-日小时:分钟:秒或者年/月/日小时:分钟:秒 |
35 | *其中,年月日为全格式,例如:2010-10-1201:00:00 |
36 | *返回精度为:秒,分,小时,天 |
37 | */ |
38 |
39 | function GetDateDiff(startTime,endTime,diffType){ |
40 | //将xxxx-xx-xx的时间格式,转换为xxxx/xx/xx的格式 |
41 | startTime=startTime.replace(/\-/g, "/" ); |
42 | endTime=endTime.replace(/\-/g, "/" ); |
43 |
44 | //将计算间隔类性字符转换为小写 |
45 | diffType=diffType.toLowerCase(); |
46 | var sTime= new Date(startTime); //开始时间 |
47 | var eTime= new Date(endTime); //结束时间 |
48 | //作为除数的数字 |
49 | var divNum=1; |
50 | switch (diffType){ |
51 | case "second" : |
52 | divNum=1000; |
53 | break ; |
54 | case "minute" : |
55 | divNum=1000*60; |
56 | break ; |
57 | case "hour" : |
58 | divNum=1000*3600; |
59 | break ; |
60 | case "day" : |
61 | divNum=1000*3600*24; |
62 | break ; |
63 | default : |
64 | break ; |
65 | } |
66 | return parseInt((eTime.getTime()-sTime.getTime())/parseInt(divNum)); |
67 | } |
68 |
69 | var testDate= new Date(); |
70 | var testStr=testDate.format( "yyyy-MM-ddhh:mm:ss" ); |
71 |
72 | var result=GetDateDiff( "2010-02-2616:00:00" ,testStr, "day" ); |
73 | document.write( "简明现代魔法www.nowamagic.net建站已有" +result+ "天了。" ); |
74 | //alert(result); |
75 | </script> |
1 | GetDateDiff( "2010-02-2616:00:00" , "2011-07-0221:48:40" , "day" ); |
1 | GetDateDiff( "2010-02-2616:00:00" , "2011-07-0221:48:40" , "second" ); |
简明现代魔法www.nowamagic.net建站已有1695天了。
相关文章推荐
- JavaScript如何计算两个日期间的时间差
- JavaScript如何计算两个日期间的时间差
- JavaScript如何计算两个日期间的时间差
- JavaScript如何计算两个日期间的时间差
- JavaScript如何计算两个日期间的时间差
- JavaScript计算两个日期的时间差
- JavaScript计算两个日期的时间差
- javascript计算两个日期(date)对象的时间差
- javaScript 计算两个日期的天数相差~~~
- c#如何计算两个日期相差几年几个月?C#日期间隔 c#时间间隔
- 如何计算两个日期之间相差的天数?
- C#日期间隔:如何计算两个日期相差几年几个月?
- python 计算两个带日期的时间差
- javascript计算两个日期的间隔天数
- sql如何计算两个日期间的工作日,剔除节假日
- 怎样用javaScript计算两个日期字符串相差的天数?
- mysql中计算两个日期的时间差函数TIMESTAMPDIFF用法
- javascript计算两个日期之间的天数
- JavaScript计算两个日期相差天数,周数
- JavaScript计算两个日期间隔