通過(guò)實(shí)例解析javascript Date對(duì)象屬性及方法
日常生活中,各種形式的時(shí)間字符到處都是。時(shí)間觀念的產(chǎn)生,時(shí)間單位、計(jì)時(shí)工具的發(fā)明,給人類(lèi)帶來(lái)的變化實(shí)在一言難盡。今天就來(lái)談?wù)勅掌谀切┦聝骸R黄饋?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ū)ο筇砑訉傩院头椒ā?
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í)有所幫助,也希望大家多多支持好吧啦網(wǎng)。
相關(guān)文章:
1. 詳解盒子端CSS動(dòng)畫(huà)性能提升2. JavaWeb Servlet中url-pattern的使用3. layui的checbox在Ajax局部刷新下的設(shè)置方法4. asp中response.write("中文")或者js中文亂碼問(wèn)題5. IntelliJ IDEA設(shè)置編碼格式的方法6. 詳解php反序列化7. django列表篩選功能的實(shí)現(xiàn)代碼8. Android Studio 利用Splash制作APP啟動(dòng)界面的方法9. 詳解Bagging算法的原理及Python實(shí)現(xiàn)10. layui Ajax請(qǐng)求給下拉框賦值的實(shí)例
