Date
2022年10月14日大约 5 分钟
由于浏览器差异和不一致性,强烈建议不要使用
Date
构造函数(和Date.parse
,它们是等效的)解析日期字符串。
语法
没有参数:新创建的Date对象表示实例化时刻的日期和时间
new Date();
Unix时间戳:是一个整数值,表示自1970年1月1日00:00:00 UTC(the Unix epoch)以来的毫秒数,忽略了闰秒。请注意大多数 Unix 时间戳功能仅精确到最接近的秒。
new Date(1597570990000);
时间戳字符串:表示日期的字符串值。该字符串应该能被
Date.parse()
正确方法识别
new Date('2020/8/16 17:48:26');
new Date('2020/08/16 17:48:26');
new Date('2020-08-16 17:48:26');
new Date('2020-08-16T17:49:26');
new Date('Aug 16, 2020 17:48:26');
分别提供日期与时间的每一个成员
year
:表示年份的整数值。 0到99会被映射至1900年至1999年,其它值代表实际年份monthIndex
:表示月份的整数值,从 0(1月)到 11(12月)day
(可选):表示一个月中的第几天的整数值,从 1 开始。默认值为 1(1 到 31)hours
(可选):表示一天中的小时数的整数值 (24小时制)。默认值为0(午夜)(0 到 23)minutes
(可选):表示一个完整时间(如 01:10:00)中的分钟部分的整数值。默认值为0(0 到 59)seconds
(可选):表示一个完整时间(如 01:10:00)中的秒部分的整数值。默认值为0(0 到 59)milliseconds
(可选):表示一个完整时间的毫秒部分的整数值。默认值为0 (0 到 999 )
new Date(2020, 8, 16, 17, 48, 26);
Date.now()
- 描述:返回自 1970 年 1 月 1 日 00:00:00 (UTC) 到当前时间的毫秒数
- 语法:
var timeInMs = Date.now();
Date.UTC()
- 描述:接受的参数同日期构造函数接受最多参数时一样,返回从1970-1-1 00:00:00 UTC到指定日期的的毫秒数
- 语法:
Date.UTC(year,month[,date[,hrs[,min[,sec[,ms]]]]])
Date.parse()
- 描述:解析一个表示某个日期的字符串,并返回从1970-1-1 00:00:00 UTC 到该日期对象(该日期对象的UTC时间)的毫秒数,如果该字符串无法识别,或者一些情况下,包含了不合法的日期数值(如:2015-02-31),则返回值为
NaN
- 语法:
Date.parse(dateString)
- 隐式调用:
new Date(dateString).getTime()
- 隐式调用:
Date.prototype.getTime()
- 描述:返回值一个数值,表示从1970年1月1日0时0分0秒(UTC,即协调世界时)距离该日期对象所代表时间的毫秒数
- 语法:
dateObj.getTime()
Date.prototype.getFullYear()
- 描述:根据当地时间,返回一个对应于给定日期的年份数字
- 语法:
dateObj.getFullYear()
Date.prototype.getMonth()
- 描述:返回一个 0 到 11 的整数值: 0 代表一月份,1 代表二月份, 2 代表三月份,依次类推
- 语法:
dateObj.getMonth()
Date.prototype.getDate()
- 描述:返回一个指定的日期对象为一个月中的哪一日( 1 ~ 31 )
- 语法:
dateObj.getDate()
Date.prototype.getDay()
- 描述:根据本地时间,返回一个具体日期中一周的第几天,0 表示星期天( 0 ~ 6 )
- 语法:
dateObj.getDate()
Date.prototype.getHours()
- 描述:根据本地时间,返回一个指定的日期对象的小时( 0 ~ 23 )
- 语法:
dateObj.getHours()
Date.prototype.getMinutes()
- 描述:根据本地时间,返回一个指定的日期对象的分钟数( 0 ~ 59 )
- 语法:
dateObj.getMinutes()
Date.prototype.getSeconds()
- 描述:根据本地时间,返回一个指定的日期对象的秒数( 0 ~ 59 )
- 语法:
dateObj.getSeconds()
Date.prototype.getMilliseconds()
- 描述:根据本地时间,返回一个指定的日期对象的毫秒数( 0 ~ 999 )
- 语法:
dateObj.getMilliseconds()
Date.prototype.setTime()
- 描述:以一个表示从1970-1-1 00:00:00 UTC计时的毫秒数为来为 Date 对象设置时间
- 语法:
dateObj.setTime(timeValue)
Date.prototype.setFullYear()
- 描述:根据本地时间为一个日期对象设置年份
- 语法:
dateObj.setFullYear(yearValue[, monthValue[, dayValue]])
Date.prototype.setMonth()
- 描述:根据本地时间为一个设置年份的日期对象设置月份
- 语法:
dateObj.setMonth(monthValue[, dayValue])
Date.prototype.setDate()
- 描述:根据本地时间来指定一个日期对象的天数
- 语法:
dateObj.setDate(dayValue)
- 注意
- 如果
dayValue
超出了月份的合理范围,setDate
将会相应地更新Date
对象- 例如,如果为
dayValue
指定0,那么日期就会被设置为上个月的最后一天 - 如果dayValue被设置为负数,日期会设置为上个月最后一天往前数这个负数绝对值天数后的日期。-1会设置为上月最后一天的前一天
- 例如,如果为
- 如果
Date.prototype.setHours()
- 描述:根据本地时间为一个日期对象设置小时数,返回从1970-01-01 00:00:00 UTC 到更新后的 日期 对象实例所表示时间的毫秒数
- 语法:
dateObj.setHours(hoursValue[, minutesValue[, secondsValue[, msValue]]])
Date.prototype.setMinutes()
- 描述:根据本地时间为一个日期对象设置分钟数
- 语法:
dateObj.setMinutes(minutesValue[, secondsValue[, msValue]])
Date.prototype.setSeconds()
- 描述:根据本地时间设置一个日期对象的秒数
- 语法:
dateObj.setSeconds(secondsValue[, msValue])
Date.prototype.setMilliseconds()
- 描述:根据本地时间设置一个日期对象的豪秒数
- 语法:
dateObj.setMilliseconds(millisecondsValue)
Date.prototype.toString()
- 描述:返回一个字符串,表示该 Date 对象。
- 语法:
dateObj.toString()
var date = new Date();
console.log(date.toString()); // Sun Aug 16 2020 18:35:19 GMT+0800 (中国标准时间)
Date.prototype.toDateString()
- 描述:以美式英语和人类易读的形式返回一个日期对象日期部分的字符串
- 语法:
dateObj.toDateString()
var date = new Date();
console.log(date.toDateString()); // Sun Aug 16 2020
Date.prototype.toUTCString()
- 描述:以美式英语和人类易读的形式返回一个日期对象日期部分的字符串
- 语法:
dateObj.toUTCString()
var date = new Date();
console.log(date.toUTCString()); // Sun, 16 Aug 2020 10:37:50 GMT
Date.prototype.toISOString()
- 描述:返回一个 ISO(ISO 8601 Extended Format)格式的字符串: YYYY-MM-DDTHH:mm:ss.sssZ。时区总是UTC(协调世界时),加一个后缀“Z”标识
- 语法:
dateObj.toISOString()
var date = new Date();
console.log(date.toISOString()); // 2020-08-16T10:38:42.445Z
Date.prototype.toJSON()
- 描述:方法返回 Date 对象的字符串形式(内部调用了
toISOString
) - 语法:
dateObj.toJSON()
var date = new Date();
console.log(date.toJSON()); // 2020-08-16T10:39:28.808Z