# Date
在 JavaScript 中,使用 Date 表示某个时刻,基于Unix Time Stamp进行计算,即 1970 年 1 月 1 日起经过的毫秒数。
# 构造函数
# 函数直接调用
直接调用Date()会返回一个表示当前时间的字符串
Date();
// "Wed Jun 10 2020 16:04:07 GMT+0800 (中国标准时间)"
1
2
2
# 通过 new 调用
通过new去创建一个 Date 对象,主要有四种传参方式:
new Date():返回表示当前时间的 Date 对象new Date(timeStamp):将 unix 毫秒时间戳作为参数,传入,返回时间戳对应的时刻的 Date 对象new Date(dateString):传入表示日期的字符串值,比如2012-12-12 20:12:12
注意
日期的字符串需要能被Date.parse()方法正确解析,因浏览器实现有差异,不建议使用该方法创建 Date 对象。比如2012-12-12 20:12:12在 safari 浏览器不能被正确解析,Date.parse()结果为NaN。
new Date(year, monthIndex[, day[, hour[, minute[, seconds[, milliseconds]]]]]):分别提供日期与时间的每一个成员
提示
使用传具体数值方法构造 Date 对象时,如果数值大于可选范围(如月份 为 14,分钟为 70),则会进位。比如:new Date(2020, 13)和new Date(2021, 1)表示相同时间。
# 静态属性
Date.prototype:Date 实例的原型对象Date.length:7,表示 7 个可选参数
# 静态方法
Date.now():unix 毫秒时间戳Date.parse():解析一个时间日期字符串,返回解析日期的 unix 毫秒时间戳Date.UTC():接受和 Date 构造函数最多参数一样的参数,返回 unix 毫秒时间戳
# 实例方法
# 时间获取
getDate():日期(1-31)getDay():星期几(0-6)getFullYear():年份getHours():小时(0-23)getMilliseconds():毫秒数(0-999)getMinutes():分钟(0-59)getMonth():月份(0-11)getSeconds():秒(0-59)getTime():返回 unix 毫秒时间戳,1970 年 1 月 1 日之前返回负数getTimezoneOffset():时区偏差分钟数getUTCDate():UTC 日期(1-31)getUTCDay():UTC 星期几(0-6)getUTCFullYear():UTC 年份getUTCHours():UTC 小时(0-23)getUTCMilliseconds():UTC 毫秒数(0-999)getUTCMinutes():UTC 分钟(0-59)getUTCMonth():UTC 月份(0-11)getUTCSeconds():UTC 秒(0-59)
# 时间设置
提示
Date 实例在设置日期的时候,如果设置的值不合常理,则改变上一个时间值进行调整,比如setDate(0)表示将时间推到上个月的最后一天,同理,如果参数为 -1,则为上个月的倒数第二天
以下例子返回均为 unix 毫秒时间戳。
setDate():设置日期setFullYear():设置日期setHours():设置日期setMilliseconds():设置日期setMinutes():设置日期setMonth():设置日期setSeconds():设置日期setTime():设置日期setUTCDate():设置日期setUTCFullYear():设置日期setUTCHours():设置日期setUTCMilliseconds():设置日期setUTCMinutes():设置日期setUTCMonth():设置日期setUTCSeconds():设置日期
# 时间显示
toUTCString():UTC 时区的时间字符串,格式为Www, dd Mmm yyyy hh:mm:ss GMTtoISOString():符合 ISO 8601 Extended Format 格式的字符串,格式为YYYY-MM-DDTHH:mm:ss.sssZ,时区总是为 UTCtoJSON():返回toISOString()结果,在使用JSON.stringify()格式化 Date 对象的时候调用toLocalString():重写Object.prototype.toLocalString(),返回日期时间字符串,格式与系统设置相关toLocalDateString():日期字符串,格式与系统设置相关toLocalTimeString():时间字符串,格式与系统设置有关toString():重写Object.prototype.toString(),返回时间字符串toDateString():以人类易读的形式返回表示日期部分的字符串,包括年、月、日、星期toTimeString():以人类易读的形式返回表示时间部分的字符串valueOf():重写Object.prototype.valueOf(),返回 unix 毫秒时间戳