通過實例解析javascript Date對象屬性及方法
日常生活中,各種形式的時間字符到處都是。時間觀念的產(chǎn)生,時間單位、計時工具的發(fā)明,給人類帶來的變化實在一言難盡。今天就來談?wù)勅掌谀切┦聝?。一起來看?JavaScript 中的日期對象 Date。
獲取月份天數(shù)
// 獲取月份天數(shù)
function getMonthDayCount(year, month) {
return new Date(year, month, 0).getDate();
}
console.log(getMonthDayCount(2017, 10)); // 31
Date 第三個參數(shù)的本質(zhì)跟 setDate 是一樣的。
因為 date 為 0 時自動退到上個月的最后一天,所以這里月份也不需要減,正好的。
獲取所有月份天數(shù)
function getAllMonthDayCount(year) {
var days = [31, new Date(year, 2, 0).getDate(), 31, 30, 31, 30, 31, 31, 30, 31, 30, 31];
return days;
}
console.log(getAllMonthDayCount(2016));// [31, 29, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31]
這個算是上面的延伸,不多解釋。
是否是閏年
function isLeapYear(year) {
return (year % 4 == 0) && (year % 100 != 0 || year % 400 == 0);
}
這是網(wǎng)上的web前端開發(fā)里相關(guān)代碼,相信大多數(shù)人都用。但其實你真的理解或者能記住么?光是html和css就足夠多記的了
function isLeapYear(year) {
return new Date(year, 2, 0).getDate() === 29;
}
console.log([
isLeapYear(2000),
isLeapYear(2016),
isLeapYear(2017),
isLeapYear(2018)
]); // [ true, true, false, false ]
這樣看,是不是就非常簡單容易理解了。
而且都不需要記,是不是想忘都忘不了?
天數(shù)加減操作
之前看到有人用相對秒數(shù)在計算幾天前或幾天后,甚至還在算跨月,跨年的情況。
其實直接 setDate 就好了,自動處理 跨月,跨年 的情況。
// 10天后是幾月幾號
var dt = new Date('2016-12-25');
dt.setDate(dt.getDate() + 10);
console.log(dt.toLocaleDateString()); // 2017/1/4
// 10天前是幾月幾號
var dt = new Date('2017-01-04');
dt.setDate(dt.getDate() - 10);
console.log(dt.toLocaleDateString()); // 2016/12/25
下面我將JavaScript Date 對象的對象和方法總結(jié)成一個表,讓大家參考,也可以關(guān)注javascript參考手冊。
Date 對象屬性
| 屬性 | 描述 |
|---|---|
| constructor | 返回對創(chuàng)建此對象的 Date 函數(shù)的引用。 |
| prototype | 使您有能力向?qū)ο筇砑訉傩院头椒ā?/td> |
Date 對象方法
| 方法 | 描述 |
|---|---|
| Date() | 返回當日的日期和時間。 |
| getDate() | 從 Date 對象返回一個月中的某一天 (1 ~ 31)。 |
| getDay() | 從 Date 對象返回一周中的某一天 (0 ~ 6)。 |
| getMonth() | 從 Date 對象返回月份 (0 ~ 11)。 |
| getFullYear() | 從 Date 對象以四位數(shù)字返回年份。 |
| getYear() | 請使用 getFullYear() 方法代替。 |
| getHours() | 返回 Date 對象的小時 (0 ~ 23)。 |
| getMinutes() | 返回 Date 對象的分鐘 (0 ~ 59)。 |
| getSeconds() | 返回 Date 對象的秒數(shù) (0 ~ 59)。 |
| etMilliseconds() | 返回 Date 對象的毫秒(0 ~ 999)。 |
| getTime() | 返回 1970 年 1 月 1 日至今的毫秒數(shù)。 |
| getTimezoneOffset() | 返回本地時間與格林威治標準時間 (GMT) 的分鐘差。 |
| getUTCDate() | 根據(jù)世界時從 Date 對象返回月中的一天 (1 ~ 31)。 |
| getUTCDay() | 根據(jù)世界時從 Date 對象返回周中的一天 (0 ~ 6)。 |
| getUTCMonth() | 根據(jù)世界時從 Date 對象返回月份 (0 ~ 11)。 |
| getUTCFullYear() | 根據(jù)世界時從 Date 對象返回四位數(shù)的年份。 |
| getUTCHours() | 根據(jù)世界時返回 Date 對象的小時 (0 ~ 23)。 |
| getUTCMinutes() | 根據(jù)世界時返回 Date 對象的分鐘 (0 ~ 59)。 |
| getUTCSeconds() | 根據(jù)世界時返回 Date 對象的秒鐘 (0 ~ 59)。 |
| getUTCMilliseconds() | 根據(jù)世界時返回 Date 對象的毫秒(0 ~ 999)。 |
| parse() | 返回1970年1月1日午夜到指定日期(字符串)的毫秒數(shù)。 |
| setDate() | 設(shè)置 Date 對象中月的某一天 (1 ~ 31)。 |
| setMonth() | 設(shè)置 Date 對象中月份 (0 ~ 11)。 |
| setFullYear() | 設(shè)置 Date 對象中的年份(四位數(shù)字)。 |
| setYear() | 請使用 setFullYear() 方法代替。 |
| setHours() | 設(shè)置 Date 對象中的小時 (0 ~ 23)。 |
| setMinutes() | 設(shè)置 Date 對象中的分鐘 (0 ~ 59)。 |
| setSeconds() | 設(shè)置 Date 對象中的秒鐘 (0 ~ 59)。 |
| setMilliseconds() | 設(shè)置 Date 對象中的毫秒 (0 ~ 999)。 |
| setTime() | 以毫秒設(shè)置 Date 對象。 |
| setUTCDate() | 根據(jù)世界時設(shè)置 Date 對象中月份的一天 (1 ~ 31)。 |
| setUTCMonth() | 根據(jù)世界時設(shè)置 Date 對象中的月份 (0 ~ 11)。 |
| setUTCFullYear() | 根據(jù)世界時設(shè)置 Date 對象中的年份(四位數(shù)字)。 |
| setUTCHours() | 根據(jù)世界時設(shè)置 Date 對象中的小時 (0 ~ 23)。 |
| setUTCMinutes() | 根據(jù)世界時設(shè)置 Date 對象中的分鐘 (0 ~ 59)。 |
| setUTCSeconds() | 根據(jù)世界時設(shè)置 Date 對象中的秒鐘 (0 ~ 59)。 |
| setUTCMilliseconds() | 根據(jù)世界時設(shè)置 Date 對象中的毫秒 (0 ~ 999)。 |
| toSource() | 返回該對象的源代碼。 |
| toString() | 把 Date 對象轉(zhuǎn)換為字符串。 |
| toTimeString() | 把 Date 對象的時間部分轉(zhuǎn)換為字符串。 |
| toDateString() | 把 Date 對象的日期部分轉(zhuǎn)換為字符串。 |
| toGMTString() | 請使用 toUTCString() 方法代替。 |
| toUTCString() | 根據(jù)世界時,把 Date 對象轉(zhuǎn)換為字符串。 |
| toLocaleString() | 根據(jù)本地時間格式,把 Date 對象轉(zhuǎn)換為字符串。 |
| toLocaleTimeString() | 根據(jù)本地時間格式,把 Date 對象的時間部分轉(zhuǎn)換為字符串。 |
| toLocaleDateString() | 根據(jù)本地時間格式,把 Date 對象的日期部分轉(zhuǎn)換為字符串。 |
| UTC() | 根據(jù)世界時返回 1970 年 1 月 1 日 到指定日期的毫秒數(shù)。 |
| valueOf() | 返回 Date 對象的原始值。 |
以上就是本文的全部內(nèi)容,希望對大家的學習有所幫助,也希望大家多多支持腳本之家。
相關(guān)文章
JavaScript腳本語言是什么_動力節(jié)點Java學院整理
JavaScript是什么?這篇文章主要介紹了一種廣泛用于客戶端Web開發(fā)的腳本語言JavaScript,具有一定的參考價值,感興趣的小伙伴們可以參考一下2017-06-06
JavaScript模擬實現(xiàn)網(wǎng)易云輪播效果
這篇文章主要介紹了如何利用JavaScript模仿網(wǎng)易云輪播效果的實現(xiàn),文中的示例代碼講解詳細,對我們學習有一定幫助,需要的可以參考一下2022-04-04
微信公眾平臺 發(fā)送模板消息(Java接口開發(fā))
這篇文章主要介紹了微信公眾平臺 發(fā)送模板消息(Java接口開發(fā)),文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧2019-04-04
詳解使用fetch發(fā)送post請求時的參數(shù)處理
這篇文章主要介紹了詳解使用fetch發(fā)送post請求時的參數(shù)處理的相關(guān)資料,需要的朋友可以參考下2017-04-04

