Javascript日期函数使用需要注意地方
生活随笔
收集整理的這篇文章主要介紹了
Javascript日期函数使用需要注意地方
小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.
當(dāng)我們需要獲取未來某個時間的毫秒數(shù)時,可能第一時間想到的方法是
(new Date("2014-12-08 12:00:00")).getTime()這個在方法在chrome下是會返回一個數(shù)字的。
但是在IE下返回的是一個NaN,是因為IE下認(rèn)為 YYYY-mm-dd HH:ii:ss不是一個合理的日期格式
不過它倒是可以接受 YYYY-mm-dd這種格式
?
為了通用兼容,我們可以針對?YYYY-mm-dd HH:ii:ss 這種格式可以將每個單位的值分解,使用setXXXX方法來獲得一個你想要的時間
var d = new Date()d.setFullYear(2014) d.setDate(8) d.setMonth(11)d.setHours(12) d.setMinutes(00) d.setSeconds(00)d.getTime() //返回2014-12-08 12:00:00 的毫秒數(shù)
這里一定要注意,setDate一定需要在setMonth前調(diào)用。
因為其實setMonth允許傳入兩個參數(shù),第一個參數(shù)是月份,第二個是日期
第二個日期參數(shù)未傳值,會默認(rèn)設(shè)置為當(dāng)天的日期
如果在new Date()的時候是31日,而你的目標(biāo)月份是沒有這一天的時候,d會自動將自己的月份設(shè)置為下一個有31日的月份
比如,你在8月31日調(diào)用,目標(biāo)是9月份的某一天,
//===============在8月31日調(diào)用 錯誤的順序 d.setMonth(8) d.setDate(1)//d的month會被自動設(shè)置為09就是實際日期中的10月 //因為實際的9月沒有31日 //設(shè)置完月份再設(shè)置日期 //這樣你得到d其實就是10月1日//===============在8月31日調(diào)用 正確的順序 d.setDate(1) d.setMonth(8)先設(shè)置setDate,再設(shè)置setMonth。這樣能夠保證不會錯誤。
?
轉(zhuǎn)載于:https://www.cnblogs.com/leftice/p/3947192.html
總結(jié)
以上是生活随笔為你收集整理的Javascript日期函数使用需要注意地方的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: markdownpad2渲染组件出错——
- 下一篇: Java入门到精通——基础篇之stati