通過(guò)實(shí)例解析javascript Date對(duì)象屬性及方法
日常生活中,各種形式的時(shí)間字符到處都是。時(shí)間觀念的產(chǎn)生,時(shí)間單位、計(jì)時(shí)工具的發(fā)明,給人類帶來(lái)的變化實(shí)在一言難盡。今天就來(lái)談?wù)勅掌谀切┦聝?。一起?lái)看看 JavaScript 中的日期對(duì)象 Date。
獲取月份天數(shù)
// 獲取月份天數(shù) function getMonthDayCount(year, month) { return new Date(year, month, 0).getDate(); } console.log(getMonthDayCount(2017, 10)); // 31
Date 第三個(gè)參數(shù)的本質(zhì)跟 setDate 是一樣的。
因?yàn)?date 為 0 時(shí)自動(dòng)退到上個(gè)月的最后一天,所以這里月份也不需要減,正好的。
獲取所有月份天數(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]
這個(gè)算是上面的延伸,不多解釋。
是否是閏年
function isLeapYear(year) { return (year % 4 == 0) && (year % 100 != 0 || year % 400 == 0); }
這是網(wǎng)上的web前端開(kāi)發(fā)里相關(guān)代碼,相信大多數(shù)人都用。但其實(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 ]
這樣看,是不是就非常簡(jiǎn)單容易理解了。
而且都不需要記,是不是想忘都忘不了?
天數(shù)加減操作
之前看到有人用相對(duì)秒數(shù)在計(jì)算幾天前或幾天后,甚至還在算跨月,跨年的情況。
其實(shí)直接 setDate 就好了,自動(dòng)處理 跨月,跨年 的情況。
// 10天后是幾月幾號(hào)
var dt = new Date('2016-12-25');
dt.setDate(dt.getDate() + 10);
console.log(dt.toLocaleDateString()); // 2017/1/4
// 10天前是幾月幾號(hào)
var dt = new Date('2017-01-04');
dt.setDate(dt.getDate() - 10);
console.log(dt.toLocaleDateString()); // 2016/12/25
下面我將JavaScript Date 對(duì)象的對(duì)象和方法總結(jié)成一個(gè)表,讓大家參考,也可以關(guān)注javascript參考手冊(cè)。
Date 對(duì)象屬性
屬性 | 描述 |
---|---|
constructor | 返回對(duì)創(chuàng)建此對(duì)象的 Date 函數(shù)的引用。 |
prototype | 使您有能力向?qū)ο筇砑訉傩院头椒ā?/td> |
Date 對(duì)象方法
方法 | 描述 |
---|---|
Date() | 返回當(dāng)日的日期和時(shí)間。 |
getDate() | 從 Date 對(duì)象返回一個(gè)月中的某一天 (1 ~ 31)。 |
getDay() | 從 Date 對(duì)象返回一周中的某一天 (0 ~ 6)。 |
getMonth() | 從 Date 對(duì)象返回月份 (0 ~ 11)。 |
getFullYear() | 從 Date 對(duì)象以四位數(shù)字返回年份。 |
getYear() | 請(qǐng)使用 getFullYear() 方法代替。 |
getHours() | 返回 Date 對(duì)象的小時(shí) (0 ~ 23)。 |
getMinutes() | 返回 Date 對(duì)象的分鐘 (0 ~ 59)。 |
getSeconds() | 返回 Date 對(duì)象的秒數(shù) (0 ~ 59)。 |
etMilliseconds() | 返回 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ì)象返回四位數(shù)的年份。 |
getUTCHours() | 根據(jù)世界時(shí)返回 Date 對(duì)象的小時(shí) (0 ~ 23)。 |
getUTCMinutes() | 根據(jù)世界時(shí)返回 Date 對(duì)象的分鐘 (0 ~ 59)。 |
getUTCSeconds() | 根據(jù)世界時(shí)返回 Date 對(duì)象的秒鐘 (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ì)象中的年份(四位數(shù)字)。 |
setYear() | 請(qǐng)使用 setFullYear() 方法代替。 |
setHours() | 設(shè)置 Date 對(duì)象中的小時(shí) (0 ~ 23)。 |
setMinutes() | 設(shè)置 Date 對(duì)象中的分鐘 (0 ~ 59)。 |
setSeconds() | 設(shè)置 Date 對(duì)象中的秒鐘 (0 ~ 59)。 |
setMilliseconds() | 設(shè)置 Date 對(duì)象中的毫秒 (0 ~ 999)。 |
setTime() | 以毫秒設(shè)置 Date 對(duì)象。 |
setUTCDate() | 根據(jù)世界時(shí)設(shè)置 Date 對(duì)象中月份的一天 (1 ~ 31)。 |
setUTCMonth() | 根據(jù)世界時(shí)設(shè)置 Date 對(duì)象中的月份 (0 ~ 11)。 |
setUTCFullYear() | 根據(jù)世界時(shí)設(shè)置 Date 對(duì)象中的年份(四位數(shù)字)。 |
setUTCHours() | 根據(jù)世界時(shí)設(shè)置 Date 對(duì)象中的小時(shí) (0 ~ 23)。 |
setUTCMinutes() | 根據(jù)世界時(shí)設(shè)置 Date 對(duì)象中的分鐘 (0 ~ 59)。 |
setUTCSeconds() | 根據(jù)世界時(shí)設(shè)置 Date 對(duì)象中的秒鐘 (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() | 請(qǐng)使用 toUTCString() 方法代替。 |
toUTCString() | 根據(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í)返回 1970 年 1 月 1 日 到指定日期的毫秒數(shù)。 |
valueOf() | 返回 Date 對(duì)象的原始值。 |
以上就是本文的全部?jī)?nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。
- JS使用Date對(duì)象實(shí)時(shí)顯示當(dāng)前系統(tǒng)時(shí)間簡(jiǎn)單示例
- js通過(guò)Date對(duì)象實(shí)現(xiàn)倒計(jì)時(shí)動(dòng)畫(huà)效果
- javascript中神奇的 Date對(duì)象小結(jié)
- JavaScript 中Date對(duì)象的格式化代碼方法匯總
- JavaScript日期對(duì)象(Date)基本用法示例
- JS中使用new Date(str)創(chuàng)建時(shí)間對(duì)象不兼容firefox和ie的解決方法(兩種)
- javascript中Date對(duì)象的使用總結(jié)
- JavaScript中的 Date(日期)對(duì)象及使用示例
相關(guān)文章
js實(shí)現(xiàn)的標(biāo)題欄新消息閃爍提示效果
這篇文章主要介紹了js實(shí)現(xiàn)的標(biāo)題欄新消息閃爍提示效果,一些大型網(wǎng)站也會(huì)經(jīng)常用到這個(gè)效果,需要的朋友可以參考下2014-06-06js中判斷Object、Array、Function等引用類型對(duì)象是否相等
項(xiàng)目中有時(shí)會(huì)需要對(duì)引用類型進(jìn)行比較,如常見(jiàn)的object和array,我們知道,引用類型無(wú)法直接使用 == 或=== 取得期待結(jié)果,因此需要一個(gè)迭代的compare函數(shù)轉(zhuǎn)化成原始類型進(jìn)行比較2012-08-08微信小程序開(kāi)發(fā)之實(shí)現(xiàn)一個(gè)跑步小程序
本文將開(kāi)發(fā)一個(gè)簡(jiǎn)易的微信跑步小程序,用到的方法是wx.onLocationChange,可以監(jiān)聽(tīng)實(shí)時(shí)地理位置變化事件,感興趣的小伙伴可以了解一下2022-08-08解決mui框架中switch開(kāi)關(guān)通過(guò)js控制開(kāi)或者關(guān)狀態(tài)時(shí)小圓點(diǎn)不動(dòng)的問(wèn)題
今天小編就為大家分享一篇解決mui框架中switch開(kāi)關(guān)通過(guò)js控制開(kāi)或者關(guān)狀態(tài)時(shí)小圓點(diǎn)不動(dòng)的問(wèn)題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧2019-09-09通過(guò)掃小程序碼實(shí)現(xiàn)網(wǎng)站登陸功能
這篇文章主要介紹了通過(guò)掃小程序碼實(shí)現(xiàn)網(wǎng)站登陸功能,本文通過(guò)實(shí)例代碼給大家介紹的非常詳細(xì),具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2019-08-08js樹(shù)插件zTree獲取所有選中節(jié)點(diǎn)數(shù)據(jù)的方法
這篇文章主要介紹了js樹(shù)插件zTree獲取所有選中節(jié)點(diǎn)數(shù)據(jù)的方法,是對(duì)js樹(shù)插件zTree非常實(shí)用的操作,需要的朋友可以參考下2015-01-01JavaScript碰撞檢測(cè)原理及其實(shí)現(xiàn)代碼
這篇文章主要為大家詳細(xì)介紹了JavaScript碰撞檢測(cè)原理及其實(shí)現(xiàn)代碼,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2020-03-03