javascript
javascript中Date对象的初始化方法
為什么80%的碼農都做不了架構師?>>> ??
在前端代碼中難免會涉及到時間的操作,如何構造一個Date對象呢?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:用整數表示月份,從0(1月)到11(12月)
- dd:表示一個月中的第幾天,從1到31
- yyyy:四位數表示的年份
- hh:小時數,從0(午夜)到23(晚11點)
- mm:分鐘數,從0到59的整數
- ss:秒數,從0到59的整數
- ms:毫秒數,為大于等于0的整數
構造函數中部分參數為負數的情況:
>new Date(1990,11,-1) >Thu Nov 29 1990 00:00:00 GMT+0800 (中國標準時間) >new Date(1990,10,-1) >Tue Oct 30 1990 00:00:00 GMT+0800 (中國標準時間) >new Date(1990,10,-2) >Mon Oct 29 1990 00:00:00 GMT+0800 (中國標準時間) >new Date(1990,-1,-2) >Tue Nov 28 1989 00:00:00 GMT+0800 (中國標準時間) >new Date(1990,-1,0) >Thu Nov 30 1989 00:00:00 GMT+0800 (中國標準時間)上面的結果,你可能會有疑惑,不急,且跟我一起往下看:
在月份小于0時,構造函數會在月份為0的基礎上,向上X月,如:
new Date(2015,-1,1) Mon Dec 01 2014 00:00:00 GMT+0800 (中國標準時間)
在日小于1時,構造函數會在天數為1的基礎上,向上X天,如:
new Date(2015,0,0) Wed Dec 31 2014 00:00:00 GMT+0800 (中國標準時間)
如果兩者都為負數,可以先計算月,再計算日,得出正確結果,如:
new Date(2015,-1,0) Sun Nov 30 2014 00:00:00 GMT+0800 (中國標準時間)
如果月大于11,日大于當月天數,自動向后推移,如(2015年2月份只有28天):
new Date(2015,1,29) Sun Mar 01 2015 00:00:00 GMT+0800 (中國標準時間)
也就是說在開發過程中,我們完全可以使用new Date(yyyy,mm,dd)構造函數提供的這一特性,完成上一日,下一日,上一月,下一月這樣的日期操作。
上一日:
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瀏覽器實測通過。 Date對象的其他方法
轉載于:https://my.oschina.net/benwen/blog/368067
創作挑戰賽新人創作獎勵來咯,堅持創作打卡瓜分現金大獎總結
以上是生活随笔為你收集整理的javascript中Date对象的初始化方法的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: C++ 控制结构和函数(三)—— 函数I
- 下一篇: 【AngularJS】—— 2 初识An