JavaScript 學習-20.Date 日期物件
阿新 • • 發佈:2022-05-23
前言
JavaScript Date日期物件用於處理日期和時間。
建立日期
有四種方式初始化日期
new Date() // 當前日期和時間
new Date(milliseconds) //返回從 1970 年 1 月 1 日至今的毫秒數
new Date(dateString)
new Date(year, month, day, hours, minutes, seconds, milliseconds)
例項化一個日期
var a = new Date(); console.log(a); // Mon May 23 2022 15:31:52 GMT+0800 (中國標準時間) var b = new Date("May 23, 2021 10:13:00"); console.log(b) // Sun May 23 2021 10:13:00 GMT+0800 (中國標準時間) var c = new Date(22, 5, 23); console.log(c) // Fri Jun 23 1922 00:00:00 GMT+0800 (中國標準時間) var d = new Date(2022, 5, 23); console.log(d) // Thu Jun 23 2022 00:00:00 GMT+0800 (中國標準時間)
設定日期
日期物件設定一個特定的日期 (2022 年5 月 23 日)
var a = new Date();
a.setFullYear(2022, 5, 23);
console.log(a); // Thu Jun 23 2022 15:57:40 GMT+0800 (中國標準時間)
設定一個特定的時間(10點30分22秒)
var a = new Date(); a.setFullYear(2022, 5, 23); // 年月日 console.log(a); // Thu Jun 23 2022 15:57:40 GMT+0800 (中國標準時間) a.setHours(10, 30, 22); // 時分秒 console.log(a) // Thu Jun 23 2022 10:30:22 GMT+0800 (中國標準時間)
設定日期的一些方法
方法 | 引數 | 說明 |
---|---|---|
setFullYear() | (year,month,date) | 設定 Date 物件中的年份(四位數字)。 |
setHours() | (hoursr, min, sec, ms) | 設定 Date 物件中的小時 (0 ~ 23)。 |
setYear() | 已廢棄。請使用 setFullYear() 方法代替。 | |
setMonth() | (month, date) | 設定 Date 物件中月份 (0 ~ 11)。 |
setDate() | (data) | 設定 Date 物件中月的某一天 (1 ~ 31)。 |
setMinutes() | (min,sec, ms ) | 設定 Date 物件中的分鐘 (0 ~ 59)。 |
setSeconds() | (sec, ms ) | 設定 Date 物件中的秒鐘 (0 ~ 59)。 |
setMilliseconds() | ( ms ) | 設定 Date 物件中的毫秒 (0 ~ 999)。 |
setTime() | time | setTime() 方法以毫秒設定 Date 物件。 |
setUTCDate() | 根據世界時設定 Date 物件中月份的一天 (1 ~ 31)。 | |
setUTCFullYear() | 根據世界時設定 Date 物件中的年份(四位數字)。 | |
setUTCHours() | 根據世界時設定 Date 物件中的小時 (0 ~ 23)。 | |
setUTCMilliseconds() | 根據世界時設定 Date 物件中的毫秒 (0 ~ 999)。 | |
setUTCMinutes() | 根據世界時設定 Date 物件中的分鐘 (0 ~ 59)。 | |
setUTCMonth() | 根據世界時設定 Date 物件中的月份 (0 ~ 11)。 | |
setUTCSeconds() | setUTCSeconds() 方法用於根據世界時 (UTC) 設定指定時間的秒欄位。 |
獲取日期
獲取日期的一些方法
方法 | 說明 |
---|---|
getDate() | 從 Date 物件返回一個月中的某一天 (1 ~ 31)。 |
getDay() | 從 Date 物件返回一週中的某一天 (0 ~ 6)。 星期天為 0, 星期一為 1, 以此類推 |
getFullYear() | 從 Date 物件以四位數字返回年份。 |
getHours() | 返回 Date 物件的小時 (0 ~ 23)。 |
getMilliseconds() | 返回 Date 物件的毫秒(0 ~ 999)。 |
getMinutes() | 返回 Date 物件的分鐘 (0 ~ 59)。 |
getMonth() | 從 Date 物件返回值 0(一月) 到 11(十二月) 之間的一個整數 |
getSeconds() | 返回 Date 物件的秒數 (0 ~ 59)。 |
getTime() | 返回 1970 年 1 月 1 日至今的毫秒數。 |
getTimezoneOffset() | 返回本地時間與格林威治標準時間 (GMT) 的分鐘差。 |
getUTCDate() | 根據世界時從 Date 物件返回月中的一天 (1 ~ 31)。 |
getUTCDay() | 根據世界時從 Date 物件返回週中的一天 (0 ~ 6)。 |
getUTCFullYear() | 根據世界時從 Date 物件返回四位數的年份。 |
getUTCHours() | 根據世界時返回 Date 物件的小時 (0 ~ 23)。 |
getUTCMilliseconds() | 根據世界時返回 Date 物件的毫秒(0 ~ 999)。 |
getUTCMinutes() | 根據世界時返回 Date 物件的分鐘 (0 ~ 59)。 |
getUTCMonth() | 根據世界時從 Date 物件返回月份 (0 ~ 11)。 |
getUTCSeconds() | 根據世界時返回 Date 物件的秒鐘 (0 ~ 59)。 |
getYear() | 已廢棄。 請使用 getFullYear() 方法代替。 |
獲取當前日期的年月日時分秒
var a = new Date(); // 當前時間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時間戳轉換
getTime()獲取當前時間的unix時間戳
var a = new Date();
time = a.getTime();
console.log(time); // 1653294924546 (毫秒)
setTime()設定unix時間戳格式的時間
var a = new Date();
a.setTime(1653294924546);
console.log(a); // Mon May 23 2022 16:35:24 GMT+0800 (中國標準時間)
日期計算
日期物件設定為 3 天后的日期
var current = new Date();
current.setDate(current.getDate()+3); // 當前時間+3天
當前日期往前5天
var current = new Date();
current.setDate(current.getDate()-5); // 當前時間-5天
當前時間往後加一個小時
var current = new Date();
current.setHours(current.getHours()+1); // 當前時間+1小時
注意: 如果增加天數會改變月份或者年份,那麼日期物件會自動完成這種轉換。
日期比較
日期物件也可用於比較兩個日期。
下面的程式碼將當前日期與 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");
}