javascript计算两个时间差

如果,拿到的不是日期类型,而是"2016-03-28 10:27:00"这种的字符串格式呢,那么就需要先将字符串转换为日期类型。

1 var t1 = "2016-03-28 10:27:00";
2 var d1 = t1.replace(/\-/g, "/");
3 var date1 = new Date(d1);

 以上得到的date1就是一个日期类型了。就可以计算了,只要再简单封装一下,就能够组合出任意的事件类型转换函数。

  如:输入字符串得到相差秒数:

 1 <!doctype html>
 2 <html>
 3 <head>
 4     <title>jQuery判断元素是隐藏的还是可见的</title>
 5 </head>
 6 <body>
 7 <script>
 8 function GetDateDiff(startTime, endTime, diffType) {
 9     //将xxxx-xx-xx的时间格式,转换为 xxxx/xx/xx的格式 
10     startTime = startTime.replace(/\-/g, "/");
11     endTime = endTime.replace(/\-/g, "/");
12     //将计算间隔类性字符转换为小写
13     diffType = diffType.toLowerCase();
14     var sTime =new Date(startTime); //开始时间
15     var eTime =new Date(endTime); //结束时间
16     //作为除数的数字
17     var timeType =1;
18     switch (diffType) {
19         case"second":
20             timeType =1000;
21         break;
22         case"minute":
23             timeType =1000*60;
24         break;
25         case"hour":
26             timeType =1000*3600;
27         break;
28         case"day":
29             timeType =1000*3600*24;
30         break;
31         default:
32         break;
33     }
34     return parseInt((eTime.getTime() - sTime.getTime()) / parseInt(timeType));
35 }
36 alert(GetDateDiff("2016-03-28 10:30:22","2016-03-28 10:38:22","minute"));
37 </script>
38 </body>
39 </html>

 

posted @ 2018-01-02 17:10  wangwiz  阅读(122)  评论(0)    收藏  举报