Date()是JavaScript的本地物件,用於獲取當前的時間,包括年、月、日、時、分、秒,可以精確到毫秒級;該物件返回的是UTC 協調世界時(Coordinated Universal Time)又稱世界統一時間,世界標準時間,國際協調時間,該時間是從1970年1月1日0時0分0秒開始計算
常用方法如下:
var date = new Date(); var y = date.getFullYear(); //返回四位年份(例如:2008) var m = date.getMonth(); //返回月份,值是[0-11]每個加1就是當前月份 var dd = date.getDate(); //返回當前日期值在01-31之間 var h = date.getHours(); //返回小時,值是[0-23],24小時制 var mm = date.getMinutes(); //返回分鐘,值是[0-59] var s = date.getSeconds(); //返回秒數,值是[0-59] var d = date.getDay(); //返回星期幾值從禮拜日到禮拜六[0-6] //毫秒 var ms = date.getMilliseconds(); //返回毫秒數,值從0到999,1000毫秒等於1秒 var mst = date.getTime();
但實際應用中,可能需要自定義初始時間,程式碼如下:
new Date("month dd,yyyy hh:mm:ss"); new Date("month dd,yyyy"); new Date(yyyy,mth,dd,hh,mm,ss); //注意全部是數字 /*正確:new Date( "2020","10","1", "15","50","20" ); 正確二:new Date(2020,10,1,15,20,58); 錯誤:new Date("2020,10,1,15,20,58"); new Date("yyyy,mth,dd"); new Date(ms); 引數含義如下: yyyy:4位數表示的年份 month:用英文表示的月份 January到December mth:用整數表示的月份值[0-11] dd:表示一個月中的第幾天值[0-31] hh:小時數,取值 [0-23] mm:分鐘數,取值[0-59] ss:秒數,取值[0-59] ms:豪秒數,*/
常見的應用場景:
例如秒殺倒數計時
查詢:某個時間範圍內的薪資
查詢:某個時間點發生的事情
跟時間相關的太多了,幾乎所有專案都會與日期時間有非常多的關聯。
倒數計時程式碼如下:
function fnDateDiff(year,month,day,showDateDiff){ var now = new Date(); var endDate = new Date(year, month-1, day); var leftTime = endDate.getTime()-now.getTime(); var leftsecond = parseInt(leftTime/1000); var day1 = Math.floor(leftsecond/(60*60*24)); var hour = Math.floor((leftsecond-day1*24*60*60)/3600); var minute = Math.floor((leftsecond-day1*24*60*60-hour*3600)/60); var second = Math.floor(leftsecond-day1*24*60*60-hour*3600-minute*60); var show = document.getElementById(showDateDiff); show.innerHTML = "距離"+year+"年"+month+"月"+day+"日還有:"+day1+"天"+hour+"小時"+minute+"分"+second+"秒"; } setInterval(function(){ fnDateDiff(2020,12,31,'showDateDiff'); },1000);