創(chuàng)建日期
var date = new Date() //創(chuàng)建當(dāng)前時間
var data = new Date(value)
var data = new Date(dateString)
var data = new Date(year, month[, day[, hour[, minutes[, seconds[, milliseconds]])
只能通過調(diào)用 Date 構(gòu)造函數(shù)來實例化日期對象:以常規(guī)函數(shù)調(diào)用它(即不加 new 操作符)將會返回一個字符串,而不是一個日期對象。另外,不像其他JavaScript 類型涮帘,Date 對象沒有字面量格式系吩。
- 參數(shù)
當(dāng)Date作為構(gòu)造函數(shù)調(diào)用并傳入多個參數(shù)時,如果數(shù)值大于合理范圍時(如月份為13或者分鐘數(shù)為70)靠益,相鄰的數(shù)值會被調(diào)整丧肴。比如 new Date(2013, 13, 1)等于new Date(2014, 1, 1),它們都表示日期2014-02-01(注意月份是從0開始的)胧后。其他數(shù)值也是類似芋浮,new Date(2013, 2, 1, 0, 70)等于new Date(2013, 2, 1, 1, 10),都表示時間2013-03-01T01:10:00壳快。
當(dāng)Date作為構(gòu)造函數(shù)調(diào)用并傳入多個參數(shù)時纸巷,所定義參數(shù)代表的是當(dāng)?shù)貢r間镇草。如果需要世界協(xié)調(diào)時,使用 new Date({{jsxref("Date.UTC()", "Date.UTC(...)")}}) 和相同參數(shù)
- value
- 代表自1970年1月1日00:00:00 (世界標(biāo)準(zhǔn)時間) 起經(jīng)過的毫秒數(shù)瘤旨。
- dateString
- 表示日期的字符串值梯啤。該字符串應(yīng)該能被 Date.parse() 方法識別(符合 IETF-compliant RFC 2822 timestamps 或 version of ISO8601)。
- year
- 代表年份的整數(shù)值存哲。為了避免2000年問題最好指定4位數(shù)的年份; 使用 1998, 而不要用 98.
- month
- 代表月份的整數(shù)值從0(1月)到11(12月)因宇。
- day
- 代表一個月中的第幾天的整數(shù)值,從1開始祟偷。
- hour
- 代表一天中的小時數(shù)的整數(shù)值 (24小時制)察滑。
- minute
- 分鐘數(shù)。
- second
- 秒數(shù)肩袍。
- millisecond
- 表示時間的毫秒部分的整數(shù)值杭棵。
- 描述
- 如果沒有輸入任何參數(shù),則Date的構(gòu)造器會依據(jù)系統(tǒng)設(shè)置的當(dāng)前時間來創(chuàng)建一個Date對象氛赐。
- 如果提供了至少兩個參數(shù)魂爪,其余的參數(shù)均會默認(rèn)設(shè)置為1(如果沒有提供day參數(shù))或者0。
- JavaScript的時間是由世界標(biāo)準(zhǔn)時間(UTC)1970年1月1日開始艰管,用毫秒計時滓侍,一天由86,400,000毫秒組成。Date對象的范圍是-100,000,000天至100,000,000天(等效的毫秒值)牲芋。
- JavaScript的Date對象為跨平臺提供了統(tǒng)一的行為撩笆。時間屬性可以在不同的系統(tǒng)中表示相同的時刻,而如果使用了本地時間對象缸浦,則反映當(dāng)?shù)氐臅r間夕冲。
- JavaScript 的Date對象提供了數(shù)個UTC時間的方法,也相應(yīng)提供了當(dāng)?shù)貢r間的方法裂逐。UTC歹鱼,也就是我們所說的格林威治時間,指的是time中的世界時間標(biāo)準(zhǔn)卜高。而當(dāng)?shù)貢r間則是指執(zhí)行JavaScript的客戶端電腦所設(shè)置的時間弥姻。
- 以一個函數(shù)的形式來調(diào)用JavaScript的Date對象(i.e., 不使用 new 操作符)會返回一個代表當(dāng)前日期和時間的字符串。
date對象獲取時間方法
獲取年份
dateObj.getFullYear()
根據(jù)本地時間掺涛,返回一個指定日期對象的年份,該方法返回一個1000 到 9999的四位數(shù)字年份庭敦,比如1995。
獲取月份
dateObj.getMonth()
根據(jù)本地時間薪缆,返回一個指定的日期對象的月份秧廉,為基于0的值(0表示一年中的第一月)。
獲取日期
dateObj.getDate()
根據(jù)本地時間,返回一個指定的日期對象為一個月中的第幾天定血。
獲取小時數(shù)
dateObj.getHours()
根據(jù)本地時間赔癌,返回一個指定的日期對象的小時。
獲取分
dateObj.getMinutes()
根據(jù)本地時間澜沟,返回一個指定的日期對象的分鐘數(shù)灾票。
獲取秒
dateObj.getSeconds()
根據(jù)本地時間,返回一個指定的日期對象的秒數(shù)茫虽。
獲取毫秒
dateObj.getMilliseconds()
根據(jù)本地時間刊苍,返回一個指定的日期對象的毫秒數(shù)。
獲取總毫秒數(shù)
dateObj.getTime()
getTime 方法的返回值一個數(shù)值濒析,表示從1970年1月1日0時0分0秒(UTC正什,即協(xié)調(diào)世界時)距離該日期對象所代表時間的毫秒數(shù)。
Date對象設(shè)置時間方法
設(shè)置年份
dateObj.setFullYear()
根據(jù)本地時間号杏,根據(jù)本地時間為指定日期對象設(shè)置年份
設(shè)置日期
dateObj.setDate()
根據(jù)本地時間婴氮,根據(jù)本地時間為指定日期對象設(shè)置一個月中的第幾天。
設(shè)置小時數(shù)
dateObj.setHours()
根據(jù)本地時間盾致,根據(jù)本地時間為指定日期對象設(shè)置小時主经。
設(shè)置分
dateObj.setMinutes()
根據(jù)本地時間,根據(jù)本地時間為指定日期對象設(shè)置分鐘數(shù)庭惜。
設(shè)置秒
dateObj.setSeconds()
根據(jù)本地時間罩驻,根據(jù)本地時間為指定日期對象設(shè)置秒數(shù)。
設(shè)置毫秒
dateObj.setMilliseconds()
根據(jù)本地時間护赊,根據(jù)本地時間為指定日期對象設(shè)置毫秒數(shù)惠遏。
根據(jù)總毫秒數(shù)設(shè)置時間
dateObj.setTime(timeValue)
setTime() 方法以一個表示從1970-1-1 00:00:00 UTC計時的毫秒數(shù)為來為 Date 對象設(shè)置時間。
獲取一個月份的天數(shù)
new Date (2001,3,0) // 2001-02-28