日常生活中,各种形式的时间字符到处都是。时间观念的产生,时间单位、计时工具的发明,给人类带来的变化实在一言难尽。今天就来谈谈日期那些事儿。一起来看看 JavaScript 中的日期对象 Date。获取月份天数获取月份天数
// 获取月份天数
function getMonthDayCount(year, month) {
return new Date(year, month, 0).getDate();
}
console.log(getMonthDayCount(2021, 10)); // 31
// 获取月份天数
function getMonthDayCount(year, month) {
return new Date(year, month, 0).getDate();
}
console.log(getMonthDayCount(2021, 10)); // 31Date 第三个参数的本质跟 setDate 是一样的。因为 date 为 0 时自动退到上个月的最后一天,所以这里月份也不需要减,正好的。获取所有月份天数获取所有月份天数
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(2021));// [31, 29, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31]
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(2021));// [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);
}
function isLeapYear(year) {
return (year % 4 == 0) && (year % 100 != 0 || year % 400 == 0);
}这是网上的web前端开发里相关代码,相信大多数人都用。但其实你真的理解或者能记住么?光是html和css就足够多记的了
function isLeapYear(year) {
return new Date(year, 2, 0).getDate() === 29;
}
console.log([
isLeapYear(2000),
isLeapYear(2021),
isLeapYear(2021),
isLeapYear(2021)
]); // [ true, true, false, false ]
function isLeapYear(year) {
return new Date(year, 2, 0).getDate() === 29;
}
console.log([
isLeapYear(2000),
isLeapYear(2021),
isLeapYear(2021),
isLeapYear(2021)
]); // [ true, true, false, false ]这样看,是不是就非常简单容易理解了。而且都不需要记,是不是想忘都忘不了?天数加减操作天数加减操作之前看到有人用相对秒数在计算几天前或几天后,甚至还在算跨月,跨年的情况。其实直接 setDate 就好了,自动处理 跨月,跨年 的情况。
// 10天后是几月几号
var dt = new Date('2021-12-25');
dt.setDate(dt.getDate() + 10);
console.log(dt.toLocaleDateString()); // 2021/1/4

// 10天前是几月几号
var dt = new Date('2021-01-04');
dt.setDate(dt.getDate() - 10);
console.log(dt.toLocaleDateString()); // 2021/12/25

// 10天后是几月几号
var dt = new Date('2021-12-25');
dt.setDate(dt.getDate() + 10);
console.log(dt.toLocaleDateString()); // 2021/1/4

// 10天前是几月几号
var dt = new Date('2021-01-04');
dt.setDate(dt.getDate() - 10);
console.log(dt.toLocaleDateString()); // 2021/12/25
下面我将JavaScript Date 对象的对象和方法总结成一个表,让大家参考,也可以关注javascript参考手册。Date 对象属性







属性

描述





constructor

返回对创建此对象的 Date 函数的引用。





prototype

使您有能力向对象添加属性和方法。








属性

描述





constructor

返回对创建此对象的 Date 函数的引用。





prototype

使您有能力向对象添加属性和方法。





属性

描述

属性描述

constructor

返回对创建此对象的 Date 函数的引用。

constructorconstructor返回对创建此对象的 Date 函数的引用。

prototype

使您有能力向对象添加属性和方法。

prototypeprototype使您有能力向对象添加属性和方法。Date 对象方法





方法

描述





Date()

返回当日的日期和时间。





getDate()

从 Date 对象返回一个月中的某一天 (1 ~ 31)。





getDay()

从 Date 对象返回一周中的某一天 (0 ~ 6)。





getMonth()

从 Date 对象返回月份 (0 ~ 11)。





getFullYear()

从 Date 对象以四位数字返回年份。





getYear()

请使用 getFullYear() 方法代替。





getHours()

返回 Date 对象的小时 (0 ~ 23)。





getMinutes()

返回 Date 对象的分钟 (0 ~ 59)。





getSeconds()

返回 Date 对象的秒数 (0 ~ 59)。





etMilliseconds()

返回 Date 对象的毫秒(0 ~ 999)。





getTime()

返回 1970 年 1 月 1 日至今的毫秒数。





getTimezoneOffset()

返回本地时间与格林威治标准时间 (GMT) 的分钟差。





getUTCDate()

根据世界时从 Date 对象返回月中的一天 (1 ~ 31)。





getUTCDay()

根据世界时从 Date 对象返回周中的一天 (0 ~ 6)。





getUTCMonth()

根据世界时从 Date 对象返回月份 (0 ~ 11)。





getUTCFullYear()

根据世界时从 Date 对象返回四位数的年份。





getUTCHours()

根据世界时返回 Date 对象的小时 (0 ~ 23)。





getUTCMinutes()

根据世界时返回 Date 对象的分钟 (0 ~ 59)。





getUTCSeconds()

根据世界时返回 Date 对象的秒钟 (0 ~ 59)。





getUTCMilliseconds()

根据世界时返回 Date 对象的毫秒(0 ~ 999)。





parse()

返回1970年1月1日午夜到指定日期(字符串)的毫秒数。





setDate()

设置 Date 对象中月的某一天 (1 ~ 31)。





setMonth()

设置 Date 对象中月份 (0 ~ 11)。





setFullYear()

设置 Date 对象中的年份(四位数字)。





setYear()

请使用 setFullYear() 方法代替。





setHours()

设置 Date 对象中的小时 (0 ~ 23)。





setMinutes()

设置 Date 对象中的分钟 (0 ~ 59)。





setSeconds()

设置 Date 对象中的秒钟 (0 ~ 59)。





setMilliseconds()

设置 Date 对象中的毫秒 (0 ~ 999)。





setTime()

以毫秒设置 Date 对象。





setUTCDate()

根据世界时设置 Date 对象中月份的一天 (1 ~ 31)。





setUTCMonth()

根据世界时设置 Date 对象中的月份 (0 ~ 11)。





setUTCFullYear()

根据世界时设置 Date 对象中的年份(四位数字)。





setUTCHours()

根据世界时设置 Date 对象中的小时 (0 ~ 23)。





setUTCMinutes()

根据世界时设置 Date 对象中的分钟 (0 ~ 59)。





setUTCSeconds()

根据世界时设置 Date 对象中的秒钟 (0 ~ 59)。





setUTCMilliseconds()

根据世界时设置 Date 对象中的毫秒 (0 ~ 999)。





toSource()

返回该对象的源代码。





toString()

把 Date 对象转换为字符串。





toTimeString()

把 Date 对象的时间部分转换为字符串。





toDateString()

把 Date 对象的日期部分转换为字符串。





toGMTString()

请使用 toUTCString() 方法代替。





toUTCString()

根据世界时,把 Date 对象转换为字符串。





toLocaleString()

根据本地时间格式,把 Date 对象转换为字符串。





toLocaleTimeString()

根据本地时间格式,把 Date 对象的时间部分转换为字符串。





toLocaleDateString()

根据本地时间格式,把 Date 对象的日期部分转换为字符串。





UTC()

根据世界时返回 1970 年 1 月 1 日 到指定日期的毫秒数。





valueOf()

返回 Date 对象的原始值。








方法

描述





Date()

返回当日的日期和时间。





getDate()

从 Date 对象返回一个月中的某一天 (1 ~ 31)。





getDay()

从 Date 对象返回一周中的某一天 (0 ~ 6)。





getMonth()

从 Date 对象返回月份 (0 ~ 11)。





getFullYear()

从 Date 对象以四位数字返回年份。





getYear()

请使用 getFullYear() 方法代替。





getHours()

返回 Date 对象的小时 (0 ~ 23)。





getMinutes()

返回 Date 对象的分钟 (0 ~ 59)。





getSeconds()

返回 Date 对象的秒数 (0 ~ 59)。





etMilliseconds()

返回 Date 对象的毫秒(0 ~ 999)。





getTime()

返回 1970 年 1 月 1 日至今的毫秒数。





getTimezoneOffset()

返回本地时间与格林威治标准时间 (GMT) 的分钟差。





getUTCDate()

根据世界时从 Date 对象返回月中的一天 (1 ~ 31)。





getUTCDay()

根据世界时从 Date 对象返回周中的一天 (0 ~ 6)。





getUTCMonth()

根据世界时从 Date 对象返回月份 (0 ~ 11)。





getUTCFullYear()

根据世界时从 Date 对象返回四位数的年份。





getUTCHours()

根据世界时返回 Date 对象的小时 (0 ~ 23)。





getUTCMinutes()

根据世界时返回 Date 对象的分钟 (0 ~ 59)。





getUTCSeconds()

根据世界时返回 Date 对象的秒钟 (0 ~ 59)。





getUTCMilliseconds()

根据世界时返回 Date 对象的毫秒(0 ~ 999)。





parse()

返回1970年1月1日午夜到指定日期(字符串)的毫秒数。





setDate()

设置 Date 对象中月的某一天 (1 ~ 31)。





setMonth()

设置 Date 对象中月份 (0 ~ 11)。





setFullYear()

设置 Date 对象中的年份(四位数字)。





setYear()

请使用 setFullYear() 方法代替。





setHours()

设置 Date 对象中的小时 (0 ~ 23)。





setMinutes()

设置 Date 对象中的分钟 (0 ~ 59)。





setSeconds()

设置 Date 对象中的秒钟 (0 ~ 59)。





setMilliseconds()

设置 Date 对象中的毫秒 (0 ~ 999)。





setTime()

以毫秒设置 Date 对象。





setUTCDate()

根据世界时设置 Date 对象中月份的一天 (1 ~ 31)。





setUTCMonth()

根据世界时设置 Date 对象中的月份 (0 ~ 11)。





setUTCFullYear()

根据世界时设置 Date 对象中的年份(四位数字)。





setUTCHours()

根据世界时设置 Date 对象中的小时 (0 ~ 23)。





setUTCMinutes()

根据世界时设置 Date 对象中的分钟 (0 ~ 59)。





setUTCSeconds()

根据世界时设置 Date 对象中的秒钟 (0 ~ 59)。





setUTCMilliseconds()

根据世界时设置 Date 对象中的毫秒 (0 ~ 999)。





toSource()

返回该对象的源代码。





toString()

把 Date 对象转换为字符串。





toTimeString()

把 Date 对象的时间部分转换为字符串。





toDateString()

把 Date 对象的日期部分转换为字符串。





toGMTString()

请使用 toUTCString() 方法代替。





toUTCString()

根据世界时,把 Date 对象转换为字符串。





toLocaleString()

根据本地时间格式,把 Date 对象转换为字符串。





toLocaleTimeString()

根据本地时间格式,把 Date 对象的时间部分转换为字符串。





toLocaleDateString()

根据本地时间格式,把 Date 对象的日期部分转换为字符串。





UTC()

根据世界时返回 1970 年 1 月 1 日 到指定日期的毫秒数。





valueOf()

返回 Date 对象的原始值。





方法

描述

方法描述

Date()

返回当日的日期和时间。

Date()Date()返回当日的日期和时间。

getDate()

从 Date 对象返回一个月中的某一天 (1 ~ 31)。

getDate()getDate()从 Date 对象返回一个月中的某一天 (1 ~ 31)。Date 对象

getDay()

从 Date 对象返回一周中的某一天 (0 ~ 6)。

getDay()getDay()从 Date 对象返回一周中的某一天 (0 ~ 6)。

getMonth()

从 Date 对象返回月份 (0 ~ 11)。

getMonth()getMonth()从 Date 对象返回月份 (0 ~ 11)。

getFullYear()

从 Date 对象以四位数字返回年份。

getFullYear()getFullYear()从 Date 对象以四位数字返回年份。

getYear()

请使用 getFullYear() 方法代替。

getYear()getYear()请使用 getFullYear() 方法代替。

getHours()

返回 Date 对象的小时 (0 ~ 23)。

getHours()getHours()返回 Date 对象的小时 (0 ~ 23)。

getMinutes()

返回 Date 对象的分钟 (0 ~ 59)。

getMinutes()getMinutes()返回 Date 对象的分钟 (0 ~ 59)。

getSeconds()

返回 Date 对象的秒数 (0 ~ 59)。

getSeconds()getSeconds()返回 Date 对象的秒数 (0 ~ 59)。

etMilliseconds()

返回 Date 对象的毫秒(0 ~ 999)。

etMilliseconds()etMilliseconds()返回 Date 对象的毫秒(0 ~ 999)。

getTime()

返回 1970 年 1 月 1 日至今的毫秒数。

getTime()getTime()返回 1970 年 1 月 1 日至今的毫秒数。

getTimezoneOffset()

返回本地时间与格林威治标准时间 (GMT) 的分钟差。

getTimezoneOffset()getTimezoneOffset()返回本地时间与格林威治标准时间 (GMT) 的分钟差。

getUTCDate()

根据世界时从 Date 对象返回月中的一天 (1 ~ 31)。

getUTCDate()getUTCDate()根据世界时从 Date 对象返回月中的一天 (1 ~ 31)。

getUTCDay()

根据世界时从 Date 对象返回周中的一天 (0 ~ 6)。

getUTCDay()getUTCDay()根据世界时从 Date 对象返回周中的一天 (0 ~ 6)。

getUTCMonth()

根据世界时从 Date 对象返回月份 (0 ~ 11)。

getUTCMonth()getUTCMonth()根据世界时从 Date 对象返回月份 (0 ~ 11)。

getUTCFullYear()

根据世界时从 Date 对象返回四位数的年份。

getUTCFullYear()getUTCFullYear()根据世界时从 Date 对象返回四位数的年份。

getUTCHours()

根据世界时返回 Date 对象的小时 (0 ~ 23)。

getUTCHours()getUTCHours()根据世界时返回 Date 对象的小时 (0 ~ 23)。

getUTCMinutes()

根据世界时返回 Date 对象的分钟 (0 ~ 59)。

getUTCMinutes()getUTCMinutes()根据世界时返回 Date 对象的分钟 (0 ~ 59)。

getUTCSeconds()

根据世界时返回 Date 对象的秒钟 (0 ~ 59)。

getUTCSeconds()getUTCSeconds()根据世界时返回 Date 对象的秒钟 (0 ~ 59)。

getUTCMilliseconds()

根据世界时返回 Date 对象的毫秒(0 ~ 999)。

getUTCMilliseconds()getUTCMilliseconds()根据世界时返回 Date 对象的毫秒(0 ~ 999)。

parse()

返回1970年1月1日午夜到指定日期(字符串)的毫秒数。

parse()parse()返回1970年1月1日午夜到指定日期(字符串)的毫秒数。

setDate()

设置 Date 对象中月的某一天 (1 ~ 31)。

setDate()setDate()设置 Date 对象中月的某一天 (1 ~ 31)。

setMonth()

设置 Date 对象中月份 (0 ~ 11)。

setMonth()setMonth()设置 Date 对象中月份 (0 ~ 11)。

setFullYear()

设置 Date 对象中的年份(四位数字)。

setFullYear()setFullYear()设置 Date 对象中的年份(四位数字)。

setYear()

请使用 setFullYear() 方法代替。

setYear()setYear()请使用 setFullYear() 方法代替。

setHours()

设置 Date 对象中的小时 (0 ~ 23)。

setHours()setHours()设置 Date 对象中的小时 (0 ~ 23)。

setMinutes()

设置 Date 对象中的分钟 (0 ~ 59)。

setMinutes()setMinutes()设置 Date 对象中的分钟 (0 ~ 59)。

setSeconds()

设置 Date 对象中的秒钟 (0 ~ 59)。

setSeconds()setSeconds()设置 Date 对象中的秒钟 (0 ~ 59)。

setMilliseconds()

设置 Date 对象中的毫秒 (0 ~ 999)。

setMilliseconds()setMilliseconds()设置 Date 对象中的毫秒 (0 ~ 999)。

setTime()

以毫秒设置 Date 对象。

setTime()setTime()以毫秒设置 Date 对象。

setUTCDate()

根据世界时设置 Date 对象中月份的一天 (1 ~ 31)。

setUTCDate()setUTCDate()根据世界时设置 Date 对象中月份的一天 (1 ~ 31)。

setUTCMonth()

根据世界时设置 Date 对象中的月份 (0 ~ 11)。

setUTCMonth()setUTCMonth()根据世界时设置 Date 对象中的月份 (0 ~ 11)。

setUTCFullYear()

根据世界时设置 Date 对象中的年份(四位数字)。

setUTCFullYear()setUTCFullYear()根据世界时设置 Date 对象中的年份(四位数字)。

setUTCHours()

根据世界时设置 Date 对象中的小时 (0 ~ 23)。

setUTCHours()setUTCHours()根据世界时设置 Date 对象中的小时 (0 ~ 23)。

setUTCMinutes()

根据世界时设置 Date 对象中的分钟 (0 ~ 59)。

setUTCMinutes()setUTCMinutes()根据世界时设置 Date 对象中的分钟 (0 ~ 59)。

setUTCSeconds()

根据世界时设置 Date 对象中的秒钟 (0 ~ 59)。

setUTCSeconds()setUTCSeconds()根据世界时设置 Date 对象中的秒钟 (0 ~ 59)。

setUTCMilliseconds()

根据世界时设置 Date 对象中的毫秒 (0 ~ 999)。

setUTCMilliseconds()setUTCMilliseconds()根据世界时设置 Date 对象中的毫秒 (0 ~ 999)。

toSource()

返回该对象的源代码。

toSource()toSource()返回该对象的源代码。

toString()

把 Date 对象转换为字符串。

toString()toString()把 Date 对象转换为字符串。

toTimeString()

把 Date 对象的时间部分转换为字符串。

toTimeString()toTimeString()把 Date 对象的时间部分转换为字符串。

toDateString()

把 Date 对象的日期部分转换为字符串。

toDateString()toDateString()把 Date 对象的日期部分转换为字符串。

toGMTString()

请使用 toUTCString() 方法代替。

toGMTString()toGMTString()请使用 toUTCString() 方法代替。

toUTCString()

根据世界时,把 Date 对象转换为字符串。

toUTCString()toUTCString()根据世界时,把 Date 对象转换为字符串。

toLocaleString()

根据本地时间格式,把 Date 对象转换为字符串。

toLocaleString()toLocaleString()根据本地时间格式,把 Date 对象转换为字符串。

toLocaleTimeString()

根据本地时间格式,把 Date 对象的时间部分转换为字符串。

toLocaleTimeString()toLocaleTimeString()根据本地时间格式,把 Date 对象的时间部分转换为字符串。

toLocaleDateString()

根据本地时间格式,把 Date 对象的日期部分转换为字符串。

toLocaleDateString()toLocaleDateString()根据本地时间格式,把 Date 对象的日期部分转换为字符串。

UTC()

根据世界时返回 1970 年 1 月 1 日 到指定日期的毫秒数。

UTC()UTC()根据世界时返回 1970 年 1 月 1 日 到指定日期的毫秒数。

valueOf()

返回 Date 对象的原始值。

valueOf()valueOf()返回 Date 对象的原始值。以上就是本文的全部内容,希望对大家的学习有所帮助。