在项目中我们通过会遇到计算两个时间的时间差问题,比如:
在做的过程中,我封装成了一个方法,我们只需要调用就可以啦
1 /* 2 * 获得时间差,时间格式为 年-月-日 小时:分钟:秒 或者 年/月/日 小时:分钟:秒 3 * 其中,年月日为全格式,例如 : 2010-10-12 01:00:00 4 * 返回精度为:秒,分,小时,天 5 */ 6 7 function GetDateDiff(startTime, endTime, diffType) { 8 //将xxxx-xx-xx的时间格式,转换为 xxxx/xx/xx的格式 9 startTime = startTime.replace(/-/g, "/"); 10 endTime = endTime.replace(/-/g, "/"); 11 12 //将计算间隔类性字符转换为小写 13 diffType = diffType.toLowerCase(); 14 var sTime =new Date(startTime); //开始时间 15 var eTime =new Date(endTime); //结束时间 16 //作为除数的数字 17 var divNum =1; 18 switch (diffType) { 19 case"second": 20 divNum =1000; 21 break; 22 case"minute": 23 divNum =1000*60; 24 break; 25 case"hour": 26 divNum =1000*3600; 27 break; 28 case"day": 29 divNum =1000*3600*24; 30 break; 31 default: 32 break; 33 } 34 return parseInt((eTime.getTime() - sTime.getTime()) / parseInt(divNum)); 35 }
调用方法也很简单:
GetDateDiff("2010-10-11 00:00:00", "2010-10-11 00:01:40", "day"); //这个是计算天数
GetDateDiff("2010-10-11 00:00:00", "2010-10-11 00:01:40", "seond"); //这是计算秒数