javascript
javascript中Date对象的初始化方法
為什么80%的碼農(nóng)都做不了架構(gòu)師?>>> ??
在前端代碼中難免會(huì)涉及到時(shí)間的操作,如何構(gòu)造一個(gè)Date對(duì)象呢?javascript為我們提供如下幾種方式:
new Date("month dd,yyyy hh:mm:ss");new Date("month dd,yyyy");new Date(yyyy,mth,dd,hh,mm,ss);new Date(yyyy,mth,dd);new Date(ms);其中:
- month:用英文表示月份名稱,從January到December
- mth:用整數(shù)表示月份,從0(1月)到11(12月)
- dd:表示一個(gè)月中的第幾天,從1到31
- yyyy:四位數(shù)表示的年份
- hh:小時(shí)數(shù),從0(午夜)到23(晚11點(diǎn))
- mm:分鐘數(shù),從0到59的整數(shù)
- ss:秒數(shù),從0到59的整數(shù)
- ms:毫秒數(shù),為大于等于0的整數(shù)
構(gòu)造函數(shù)中部分參數(shù)為負(fù)數(shù)的情況:
>new Date(1990,11,-1) >Thu Nov 29 1990 00:00:00 GMT+0800 (中國標(biāo)準(zhǔn)時(shí)間) >new Date(1990,10,-1) >Tue Oct 30 1990 00:00:00 GMT+0800 (中國標(biāo)準(zhǔn)時(shí)間) >new Date(1990,10,-2) >Mon Oct 29 1990 00:00:00 GMT+0800 (中國標(biāo)準(zhǔn)時(shí)間) >new Date(1990,-1,-2) >Tue Nov 28 1989 00:00:00 GMT+0800 (中國標(biāo)準(zhǔn)時(shí)間) >new Date(1990,-1,0) >Thu Nov 30 1989 00:00:00 GMT+0800 (中國標(biāo)準(zhǔn)時(shí)間)上面的結(jié)果,你可能會(huì)有疑惑,不急,且跟我一起往下看:
在月份小于0時(shí),構(gòu)造函數(shù)會(huì)在月份為0的基礎(chǔ)上,向上X月,如:
new Date(2015,-1,1) Mon Dec 01 2014 00:00:00 GMT+0800 (中國標(biāo)準(zhǔn)時(shí)間)
在日小于1時(shí),構(gòu)造函數(shù)會(huì)在天數(shù)為1的基礎(chǔ)上,向上X天,如:
new Date(2015,0,0) Wed Dec 31 2014 00:00:00 GMT+0800 (中國標(biāo)準(zhǔn)時(shí)間)
如果兩者都為負(fù)數(shù),可以先計(jì)算月,再計(jì)算日,得出正確結(jié)果,如:
new Date(2015,-1,0) Sun Nov 30 2014 00:00:00 GMT+0800 (中國標(biāo)準(zhǔn)時(shí)間)
如果月大于11,日大于當(dāng)月天數(shù),自動(dòng)向后推移,如(2015年2月份只有28天):
new Date(2015,1,29) Sun Mar 01 2015 00:00:00 GMT+0800 (中國標(biāo)準(zhǔn)時(shí)間)
也就是說在開發(fā)過程中,我們完全可以使用new Date(yyyy,mm,dd)構(gòu)造函數(shù)提供的這一特性,完成上一日,下一日,上一月,下一月這樣的日期操作。
上一日:
new Date(yyyy,mm,dd-1)下一日:
new Date(yyyy,mm,dd+1)上一月:
new Date(yyyy,mm-1,dd)下一月:
new Date(yyyy,mm+1,dd)在IE9、Chrome及Firefox瀏覽器實(shí)測通過。 Date對(duì)象的其他方法
轉(zhuǎn)載于:https://my.oschina.net/benwen/blog/368067
創(chuàng)作挑戰(zhàn)賽新人創(chuàng)作獎(jiǎng)勵(lì)來咯,堅(jiān)持創(chuàng)作打卡瓜分現(xiàn)金大獎(jiǎng)總結(jié)
以上是生活随笔為你收集整理的javascript中Date对象的初始化方法的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: C++ 控制结构和函数(三)—— 函数I
- 下一篇: oa人员导入模板_别拿OA不当系统,让C