前言JavaScript Date日期對象用于處理日期和時間。 創(chuàng)建日期有四種方式初始化日期 new Date() // 當(dāng)前日期和時間 new Date(milliseconds) //返回從 1970 年 1 月 1 日至今的毫秒數(shù) new Date(dateString) new Date(year, month, day, hours, minutes, seconds, milliseconds)
實(shí)例化一個日期 var a = new Date(); console.log(a); // Mon May 23 2022 15:31:52 GMT+0800 (中國標(biāo)準(zhǔn)時間) var b = new Date("May 23, 2021 10:13:00"); console.log(b) // Sun May 23 2021 10:13:00 GMT+0800 (中國標(biāo)準(zhǔn)時間) var c = new Date(22, 5, 23); console.log(c) // Fri Jun 23 1922 00:00:00 GMT+0800 (中國標(biāo)準(zhǔn)時間) var d = new Date(2022, 5, 23); console.log(d) // Thu Jun 23 2022 00:00:00 GMT+0800 (中國標(biāo)準(zhǔn)時間)
設(shè)置日期日期對象設(shè)置一個特定的日期 (2022 年5 月 23 日) var a = new Date(); a.setFullYear(2022, 5, 23); console.log(a); // Thu Jun 23 2022 15:57:40 GMT+0800 (中國標(biāo)準(zhǔn)時間)
設(shè)置一個特定的時間(10點(diǎn)30分22秒) var a = new Date(); a.setFullYear(2022, 5, 23); // 年月日 console.log(a); // Thu Jun 23 2022 15:57:40 GMT+0800 (中國標(biāo)準(zhǔn)時間) a.setHours(10, 30, 22); // 時分秒 console.log(a) // Thu Jun 23 2022 10:30:22 GMT+0800 (中國標(biāo)準(zhǔn)時間)
設(shè)置日期的一些方法 | 方法 | 參數(shù) | 說明 |
|---|
| setFullYear() | (year,month,date) | 設(shè)置 Date 對象中的年份(四位數(shù)字)。 | | setHours() | (hoursr, min, sec, ms) | 設(shè)置 Date 對象中的小時 (0 ~ 23)。 | | setYear() |
| 已廢棄。請使用 setFullYear() 方法代替。 | | setMonth() | (month, date) | 設(shè)置 Date 對象中月份 (0 ~ 11)。 | | setDate() | (data) | 設(shè)置 Date 對象中月的某一天 (1 ~ 31)。 | | setMinutes() | (min,sec, ms ) | 設(shè)置 Date 對象中的分鐘 (0 ~ 59)。 | | setSeconds() | (sec, ms ) | 設(shè)置 Date 對象中的秒鐘 (0 ~ 59)。 | | setMilliseconds() | ( ms ) | 設(shè)置 Date 對象中的毫秒 (0 ~ 999)。 | | setTime() | time | setTime() 方法以毫秒設(shè)置 Date 對象。 | | setUTCDate() |
| 根據(jù)世界時設(shè)置 Date 對象中月份的一天 (1 ~ 31)。 | | setUTCFullYear() |
| 根據(jù)世界時設(shè)置 Date 對象中的年份(四位數(shù)字)。 | | setUTCHours() |
| 根據(jù)世界時設(shè)置 Date 對象中的小時 (0 ~ 23)。 | | setUTCMilliseconds() |
| 根據(jù)世界時設(shè)置 Date 對象中的毫秒 (0 ~ 999)。 | | setUTCMinutes() |
| 根據(jù)世界時設(shè)置 Date 對象中的分鐘 (0 ~ 59)。 | | setUTCMonth() |
| 根據(jù)世界時設(shè)置 Date 對象中的月份 (0 ~ 11)。 | | setUTCSeconds() |
| setUTCSeconds() 方法用于根據(jù)世界時 (UTC) 設(shè)置指定時間的秒字段。 |
獲取日期獲取日期的一些方法 | 方法 | 說明 |
|---|
| getDate() | 從 Date 對象返回一個月中的某一天 (1 ~ 31)。 | | getDay() | 從 Date 對象返回一周中的某一天 (0 ~ 6)。 星期天為 0, 星期一為 1, 以此類推 | | getFullYear() | 從 Date 對象以四位數(shù)字返回年份。 | | getHours() | 返回 Date 對象的小時 (0 ~ 23)。 | | getMilliseconds() | 返回 Date 對象的毫秒(0 ~ 999)。 | | getMinutes() | 返回 Date 對象的分鐘 (0 ~ 59)。 | | getMonth() | 從 Date 對象返回值 0(一月) 到 11(十二月) 之間的一個整數(shù) | | getSeconds() | 返回 Date 對象的秒數(shù) (0 ~ 59)。 | | getTime() | 返回 1970 年 1 月 1 日至今的毫秒數(shù)。 | | getTimezoneOffset() | 返回本地時間與格林威治標(biāo)準(zhǔn)時間 (GMT) 的分鐘差。 | | getUTCDate() | 根據(jù)世界時從 Date 對象返回月中的一天 (1 ~ 31)。 | | getUTCDay() | 根據(jù)世界時從 Date 對象返回周中的一天 (0 ~ 6)。 | | getUTCFullYear() | 根據(jù)世界時從 Date 對象返回四位數(shù)的年份。 | | getUTCHours() | 根據(jù)世界時返回 Date 對象的小時 (0 ~ 23)。 | | getUTCMilliseconds() | 根據(jù)世界時返回 Date 對象的毫秒(0 ~ 999)。 | | getUTCMinutes() | 根據(jù)世界時返回 Date 對象的分鐘 (0 ~ 59)。 | | getUTCMonth() | 根據(jù)世界時從 Date 對象返回月份 (0 ~ 11)。 | | getUTCSeconds() | 根據(jù)世界時返回 Date 對象的秒鐘 (0 ~ 59)。 | | getYear() | 已廢棄。請使用 getFullYear() 方法代替。 |
獲取當(dāng)前日期的年月日時分秒 var a = new Date(); // 當(dāng)前時間2022-5-23 16:25:58:968 星期一 year = a.getFullYear(); // 2022 month = a.getMonth(); // 4 data = a.getDate(); // 23 hour = a.getHours(); // 16 minute = a.getMinutes(); // 25 second = a.getSeconds(); // 58 ms = a.getMilliseconds(); // 968 day = a.getDay(); // 1
需要注意的地方有2個 getMonth() 獲取月份是從0開始,1月是0,2月是1,以此類推 getDay() 獲取星期幾,星期天為 0, 星期一為 1, 以此類推
unix時間戳轉(zhuǎn)換getTime()獲取當(dāng)前時間的unix時間戳 var a = new Date(); time = a.getTime(); console.log(time); // 1653294924546 (毫秒)
setTime()設(shè)置unix時間戳格式的時間 var a = new Date(); a.setTime(1653294924546); console.log(a); // Mon May 23 2022 16:35:24 GMT+0800 (中國標(biāo)準(zhǔn)時間) `
日期計(jì)算日期對象設(shè)置為 3 天后的日期 var current = new Date(); current.setDate(current.getDate()+3); // 當(dāng)前時間+3天
當(dāng)前日期往前5天 var current = new Date(); current.setDate(current.getDate()-5); // 當(dāng)前時間-5天
當(dāng)前時間往后加一個小時 var current = new Date(); current.setHours(current.getHours()+1); // 當(dāng)前時間+1小時
注意: 如果增加天數(shù)會改變月份或者年份,那么日期對象會自動完成這種轉(zhuǎn)換。 日期比較日期對象也可用于比較兩個日期。 下面的代碼將當(dāng)前日期與 2020 年 1 月 5 日做了比較: var x = new Date(); x.setFullYear(2020, 0, 5); var today = new Date(); if (today > x){ console.log("Today is after 2022.1.5"); } else{ console.log("Today is before 2022.1.5"); }
|