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>
浙公网安备 33010602011771号