javascript的Date對(duì)象是一個(gè)對(duì)時(shí)間處理的函數(shù)咒彤,在實(shí)際操作中老是用錯(cuò),或者直接不會(huì)用渔工。這里就將最近遇到的幾個(gè)記錄一下豫柬。毫秒從1970-1-1開始的告希。
四種方法創(chuàng)建Date對(duì)象:
1.var myDate = new Date():返回當(dāng)前的時(shí)間
2.var myDate = new Date(milliseconds):輸入毫秒數(shù),返回該毫秒數(shù)對(duì)應(yīng)的時(shí)間
3.var myDate = new Date(datestring):給出一個(gè)時(shí)間的string
4.var myDate = new Date(year,month,day,hours,minutes,seconds,milliseconds):根據(jù)輸入的時(shí)間烧给,導(dǎo)出對(duì)應(yīng)的時(shí)間
這樣做感覺沒有什么意義是吧燕偶,那么我們就試試獲取他的當(dāng)前時(shí)間的毫秒數(shù):使用.valueOf()
很顯然這個(gè)還是可以的。
這個(gè)時(shí)候我們?cè)俜祷厝タ纯?48533840000對(duì)應(yīng)的時(shí)間是多少础嫡。
細(xì)心的你肯定會(huì)發(fā)現(xiàn):148533840000對(duì)應(yīng)的時(shí)間變成了2017年的一月份V该础!榴鼎!但是我們當(dāng)時(shí)輸入的時(shí)間是2016年的12月份2堋!巫财!這是為什么呢盗似??平项?因?yàn)?b>設(shè)置時(shí)間的時(shí)候月份要減一(這里敲黑板)也就是說如果獲取2016年的12月25號(hào)18點(diǎn)的時(shí)間就應(yīng)該寫成new Date(2016,11,25,18,00,00)這里還是要敲黑板:帐妗:芳啊!
另外如果想要設(shè)置的時(shí)間是2016-1-25這天的話既可以寫成:new Date(2016,0,25)接癌;也可以寫成new Date(2015,12,25)都是可以的
注:其實(shí)今天要講的重點(diǎn)就是上面這個(gè)了心赶。想要獲取指定時(shí)間(年月日時(shí)分秒)的時(shí)候,給的月份要減1缺猛,希望以后在使用的時(shí)候能注意到了 ?
另外注意這個(gè)情況只針對(duì)第四種情況缨叫,如果傳入的值是 datestring的格式(‘2016-12-25 18:00:00’)的話就不會(huì)出現(xiàn)上面所說的這種情況哦!所以推薦第三種方法