Date對(duì)象(日期對(duì)象)來實(shí)現(xiàn)對(duì)日期和時(shí)間的控制。
1、創(chuàng)建Date對(duì)象
日期對(duì)象是對(duì)一個(gè)對(duì)象數(shù)據(jù)類型求值,該對(duì)象主要負(fù)責(zé)處理與日期和時(shí)間相關(guān)的數(shù)據(jù)信息。在使用Date對(duì)象前,首先要?jiǎng)?chuàng)建該對(duì)象。
語法:
dateObj = new Date();
DateObj = new Date(dateVal);
DateObj = new Date(year,month,data[,hours[,minutes[,seconds[,ms]]]])
| 參數(shù) | 說明 |
|---|---|
| dateObj | 必選項(xiàng)。要賦值為Date對(duì)象的變量名 |
| dateVal | 必選項(xiàng)。如果是數(shù)字值,dateVal 表示指定日期與1970年1月1日午夜全球標(biāo)準(zhǔn)時(shí)間的毫秒數(shù)。如果是字符串,則dateVal按照parse方法中的規(guī)則進(jìn)行解析。dateVal參數(shù)也可以是從某些ActiveX(R)對(duì)象返回的VT_DATE值 |
| year | 必選項(xiàng)。完整的年份,如1976(而不是76) |
| month | 必選項(xiàng)。表示的月份,是從0-11之間的整數(shù)(1~12月) |
| date | 必選項(xiàng)。表示日期,是從1~31之間的整數(shù) |
| hours | 必選項(xiàng)。如果提供了minutes則必須給出。表示小時(shí),是從0~23的整數(shù)(午夜到11pm) |
| minutes | 必選項(xiàng)。如果提供了seconds則必須給出。表示分鐘,是從0~59的整數(shù) |
| seconds | 必選項(xiàng)。如果提供了ms則必須給出。表示秒鐘,是從0~59的整數(shù) |
| ms | 必選項(xiàng)。表示毫秒,是從0~999的整數(shù) |
下面以示例的形式來介紹如何創(chuàng)建日期對(duì)象。
例子1:返回當(dāng)前的日期和時(shí)間。
var newDate = new Date();
console.log(newDate);
//運(yùn)行結(jié)果:
Tue Jul 24 2018 18:18:06 GMT+0800 (中國(guó)標(biāo)準(zhǔn)時(shí)間)
例子2:用年、月、日(2008-2-2)來創(chuàng)建日期對(duì)象。
var newDate = new Date(2008,2,2);
console.log(newDate);
//運(yùn)行結(jié)果:
Sun Mar 02 2008 00:00:00 GMT+0800 (中國(guó)標(biāo)準(zhǔn)時(shí)間)
例子3:用年、月、日、小時(shí)、分鐘、秒(2008-1-2 19:41:40)。
var newDate = new Date("Jan 2,2008 19:41:40");
console.log(newDate);
//運(yùn)行結(jié)果:
Wed Jan 02 2008 19:41:40 GMT+0800 (中國(guó)標(biāo)準(zhǔn)時(shí)間)
2、Date對(duì)象的屬性
Date對(duì)象的屬性包括constructor和prototype,它們與String對(duì)象中的屬性語法相同。
(1)constructor屬性
例子:判斷當(dāng)前對(duì)象是否為日期對(duì)象。
var newDate = new Date();
if(newDate.constructor==Date){
console.log("日期類對(duì)象!")
}
//運(yùn)行結(jié)果:
日期類對(duì)象!
(2)prototype屬性
例子:用自定義屬性來記錄當(dāng)前日期是本周的周幾。
var newDate = new Date(); //當(dāng)前日期為2018-7-24周二
Date.prototype.mard=null; //向?qū)ο笾刑砑訉傩?newDate.mard=newDate.getDay(); //向添加的屬性中賦值
console.log(newDate.mard);
//運(yùn)行結(jié)果:
2
因?yàn)槲鞣绞且灾苋諡橐恍瞧诘牡谝惶旒?,所以周二就應(yīng)該是2
3、Date對(duì)象的方法
Date對(duì)象的Javascript的一種內(nèi)部數(shù)據(jù)類型。該對(duì)象沒有可以直接讀寫的屬性,所有對(duì)日期和時(shí)間的操作都是通過方法完成的。
Date對(duì)象的方法
| 方法 | 說明 |
|---|---|
| Date() | 返回系統(tǒng)當(dāng)前的日期和時(shí)間 |
| getDate() | 從Date對(duì)象返回一個(gè)月中的某一天(1~31) |
| getDay() | 從Date對(duì)象返回一周中的某一天(0~6) |
| getMonth() | 從Date對(duì)象返回月份(0~11) |
| getFullYear() | 從Date對(duì)象以4位數(shù)字返回年份 |
| getYear() | 從Date對(duì)象以兩位或4位數(shù)字返回年份 |
| getHours() | 返回Date對(duì)象的小時(shí)(0~23) |
| getMinutes() | 返回Date對(duì)象的分鐘(0~59) |
| getSeconds() | 返回Date對(duì)象的秒數(shù)(0~59) |
| getMilliseconds() | 返回Date對(duì)象的毫秒(0~999) |
| getTime() | 返回1970年1月1日至今的毫秒數(shù) |
| getTimezoneOffset() | 返回本地時(shí)間與格林威治標(biāo)準(zhǔn)時(shí)間的分鐘差(GMT) |
| getUTCDate() | 根據(jù)世界時(shí)從Date對(duì)象返回月中的一天(1~31) |
| getUTCDay() | 根據(jù)世界時(shí)從Date對(duì)象返回周中的一天(0~6) |
| getUTCMonth() | 根據(jù)世界時(shí)從Date對(duì)象返回月份(0~11) |
| getUTCFullYear() | 根據(jù)世界時(shí)從Date對(duì)象返回4位數(shù)的年份 |
| getUTCHours() | 根據(jù)世界時(shí)返回Date對(duì)象的小時(shí) (0~23) |
| getUTCMinutes() | 根據(jù)世界時(shí)返回Date對(duì)象的分鐘 (0~59) |
| getUTCSeconds() | 根據(jù)世界時(shí)返回Date對(duì)象的秒數(shù)(0~59) |
| getUTCMilliseconds() | 根據(jù)世界時(shí)返回Date對(duì)象的毫秒(0~999) |
| parse() | 返回1970年1月1日午夜到指定日期(字符串)的毫秒數(shù) |
| setDate() | 設(shè)置Date對(duì)象中月的某一天(1~31) |
| setMonth() | 設(shè)置Date對(duì)象中的月份(0~11) |
| setFullYear() | 設(shè)置Date對(duì)象中的年份(4位數(shù)字) |
| setYear() | 設(shè)置Date對(duì)象中的年份(2位或4位數(shù)字) |
| setHours() | 設(shè)置Date對(duì)象中的小時(shí)(0~23) |
| setMinutes() | 設(shè)置Date對(duì)象中的分鐘(0~59) |
| setSeconds() | 設(shè)置Date對(duì)象中的秒數(shù)(0~59) |
| setMilliseconds() | 設(shè)置Date對(duì)象中的毫秒(0~999) |
| setTime() | 通過從1970年1月1日午夜添加或減去指定數(shù)目的毫秒來計(jì)算日期和時(shí)間 |
| setUTCDate() | 根據(jù)世界時(shí)設(shè)置Date對(duì)象中月份的一天(1~31) |
| setUTCMonth() | 根據(jù)世界時(shí)設(shè)置Date對(duì)象中的月份(0~11) |
| setUTCFullYear() | 根據(jù)世界時(shí)設(shè)置Date對(duì)象中的年份(4位數(shù)字) |
| setUTCHours() | 根據(jù)世界時(shí)設(shè)置Date對(duì)象中的小時(shí)(0~23) |
| setUTCMinutes() | 根據(jù)世界時(shí)設(shè)置Date對(duì)象中的 分鐘(0~59) |
| setUTCSeconds() | 根據(jù)世界時(shí)設(shè)置Date對(duì)象中的秒數(shù)(0~59) |
| setUTCMilliseconds() | 根據(jù)世界時(shí)設(shè)置Date對(duì)象中的毫秒(0~999) |
| toSource() | 代表對(duì)象的源代碼 |
| toString() | 把Date對(duì)象轉(zhuǎn)換為字符串 |
| toTimeString() | 把Date對(duì)象的時(shí)間部分轉(zhuǎn)換為字符串 |
| toDateString() | 把Date對(duì)象的日期部分轉(zhuǎn)換為字符串 |
| toGMTString() | 根據(jù)格林威治時(shí)間,把Date對(duì)象轉(zhuǎn)換為字符串 |
| toUTCSting() | 根據(jù)世界時(shí),把Date對(duì)象轉(zhuǎn)換為字符串 |
| toLocaleString() | 根據(jù)本地時(shí)間格式,把Date對(duì)象轉(zhuǎn)換為字符串 |
| toLocaleTimeString() | 根據(jù)本地時(shí)間格式,把Date對(duì)象的時(shí)間部分轉(zhuǎn)換為字符串 |
| toLocaleDateString() | 根據(jù)本地時(shí)間格式,把Date對(duì)象的日期部分轉(zhuǎn)換為字符串 |
| UTC() | 根據(jù)世界時(shí),獲取一個(gè)日期,然后返回1970年1月1日午夜到該日期的毫秒數(shù) |
| valueOf() | 返回Date對(duì)象的原始值 |

多多努力莫松懈~~