Date構造器有多種方式創建方式
一、new Date()
// 當天 var date = new Date()
二、new Date(value)
// value 為一個整數 var date = new Date(1411616202925) var year = date.getFullYear() // 2014 var month = date.getMonth() // 8 var today = date.getDate() // 25
value為毫秒數(整數)可以通過Date.now()生成一個,也可以通過Date.parse()轉換得到。
三、new Date(dateString)
var date1 = new Date("December 17, 2014 12:24:00") var date2 = new Date("2014-09-25T13:24:00")
dateString必須遵循RFC 2822和ECMAScript15.9.1.15。
四、new Date(year, month, day, hour, minute, second, millsecond)
var birthday = new Date(2014, 8, 25) var birthday = new Date(2014, 8, 25,15, 24, 0)
對於第二種方式構造Date對象,有時只需要獲取日期,我們常用這種格式 "2014-09-25",比如
var date = new Date('2014-09-25') date.getFullYear() // 2014 date.getMonth() // 8 (月是0-11) date.getDate() // 25
這段代碼在多數瀏覽器中沒有問題,但在win Safari5及以下版本中會顯示NAN。Mac上Safari7則沒有此問題。
這種格式規范里是允許的
需注意,為避免這種問題需要使用其他構造方式創建Date對象。
相關:
http://tools.ietf.org/html/rfc2822#page-14
http://www.ecma-international.org/ecma-262/5.1/#sec-15.9.1.15
https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Date