javascript計算兩個時間差
阿新 • • 發佈:2017-10-12
date() body 間隔 script ges lac 可見 轉換 小寫 javascript計算兩個時間差
其實,javascript計算時間差的方式非常簡單,如果是默認的Date()類型,直接相減就是相差的毫秒數。
var d1 = new Date(‘2016/03/28 10:17:22‘); var d2 = new Date(‘2016/03/28 11:17:22‘); console.log(parseInt(d2 - d1));//兩個時間相差的毫秒數 console.log(parseInt(d2 - d1) / 1000);//兩個時間相差的秒數 console.log(parseInt(d2 - d1) / 1000 / 60);//兩個時間相差的分鐘數 console.log(parseInt(d2 - d1) / 1000 / 60);//兩個時間相差的小時數
輸出如下:
如果,拿到的不是日期類型,而是"2016-03-28 10:27:00"這種的字符串格式呢,那麽就需要先將字符串轉換為日期類型。
var t1 = "2016-03-28 10:27:00"; var d1 = t1.replace(/\-/g, "/"); var date1 = new Date(d1);
以上得到的date1就是一個日期類型了。就可以計算了,只要再簡單封裝一下,就能夠組合出任意的事件類型轉換函數。
如:輸入字符串得到相差秒數:
<!doctype html> <html> <head> <title>jQuery判斷元素是隱藏的還是可見的</title> </head> <body> <script> 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 timeType =1; switch (diffType) { case"second": timeType =1000; break; case"minute": timeType =1000*60; break; case"hour": timeType =1000*3600; break; case"day": timeType =1000*3600*24; break; default: break; } return parseInt((eTime.getTime() - sTime.getTime()) / parseInt(timeType)); } alert(GetDateDiff("2016-03-28 10:30:22","2016-03-28 10:38:22","minute")); </script> </body> </html>
javascript計算兩個時間差