日期对象
UTC时间:UTC协调世界时即格林威治平太阳时间,是指格林威治所在地的标准时间,也是表示地球自转速率的一种形式,UTC基于国际原子时间。(百度的)
GMT时间:GMT指的是格林威治中央区时。
创建日期对象就要使用new关键字调用Date构造函数
let now = new Date();
如果不给Date构造函数参数,那么就会保存当前日期和时间。如果需要创建指定的日期对象,那么就需要给Date()构造函数传入日期的毫秒表示。ECMAScript提供了两种转毫秒的方法。Date.parse() Date.UTC()。
Date.parse()
它接收一个表示时间的字符串。函数会尝试将字符串转为表示该日期的毫秒值。
日期格式:
- “月/日/年”,5/23/2021
- “月名 日,年”, “May 23, 2021”
- “周几 月名 日 年 时:分:秒 时区”, ‘Tue May 23 2021 00:00:00 GMT+0800’;
- “YYYY-MM-DDTHH:mm:ss.sssZ”, “2019-05-23T00:00:00” (只适用兼容ES5)
如果要创建一个 2021年5月1日 的日期对象
let date = new Date(Date.parse('May 1, 2021'));
如果给 Date.parse() 的字符串不能解析为正确的日期格式,就会返回NaN。如果直接把表示日期的字符串给 new Date() 构造函数那么就会默认调用 Date.parse()。
Date.UTC
Date.UTC() 方法也返回日期的毫秒表示,但使用的是跟 Date.parse() 不同的信息。
传入 Date.UTC() 的参数是 (年, 月(0-11) 日(1-31)时(0-23)分 秒 毫秒) 。这些参数中年和月是必须的。不提供日默认会按照 1日来计算 剩下的参数都按0计算
let date1 = new Date(Date.UTC(2021, 0));
let date2 = new Date(Date.UTC(2021, 0, 5, 17, 55, 55));
date1的日期是 2021年1月零点
date2的日期是 2021年1月5日下午17时55分55秒
与Date.parse一样,Date.UTC也会被隐式调用。但有一个区别:Date.UTC是本地时间不是GMT时间
ESMAScript还提供了 Date.now() 方法,该方法返回执行日期的毫秒数
日期/时间组件方法
| 方法 | 说明 |
|---|---|
| getTime () | 返回日期的毫秒表示(时间戳) |
| setTime () | 设置日期的毫秒表示 |
| getFullYear() | 返回四位数年数 |
| getUTCFullYear() | 返回UTC日期的4位年数 |
| getMounth() | 返回日期表示的月份 (0-11)月份从0开始 |
| getUTCMouth() | 返回UTC日期的月 (0-11) |
| getDate() | 返回日期中的日 (1-31) |
| getUTCDate() | 返回UTC日期中的日 (1-31) |
| setDate(date) | 设置日期中的日,如果data大于改月天数,则加月 |
| setUTCDate(date) | 设置UTC日期中的日 |
| getDay() | 返回日期中表示周几的数值(0表示周日,6表示周六) |
| getUTCDay() | 返回UTC日期中表示周几的数值 |
| getHours() | 返回日期中的时(0-23) |
| getUTCHours() | 返回UTC日期中的时(0-23) |
| setHours(hours) | 设置日期中时(如果hours大于23则加日) |
| setUTCHours(hours) | 设置UTC日期中的时(hours大于23加日) |
| getMInutes() | 返回日期中的分(0-59) |
| getUTCMinutes() | 返回UTC日期中的分(0-59) |
| setMinutes(minutes) | 设置日期中的分 (如果minutes大于59,则加时) |
| setUTCMinutes(minutes) | 设置UTC日期中的分 (如果minutes大于59,则加时) |
| getSeconds() | 返回日期中的秒(0-59) |
| getUTCSeconds() | 返回UTC日期中的秒(0-59) |
| setSeconds(seconds) | 设置日期中的秒(如果seconds大于59,则加分) |
| setUTCSeconds(seconds) | 设置UTC日期中的秒(如果seconds大于59,则加分) |
| getMilliseconds() | 返回日期中的毫秒 |
| getUTCMilliseconds | 返回UTC日期中的毫秒 |
| setMilliseconds(milliseconds) | 设置日期中的毫秒 |
| setUTCMilliseconds(milliseconds) | 设置UTC日期的毫秒 |
| getTimezoneOffset() | 返回以分钟计时的UTC与本地时区的偏移量 |
本文详细介绍了JavaScript中的Date对象,包括UTC和GMT时间、Date构造函数的使用、Date.parse()和Date.UTC()方法的区别及应用。通过实例展示了如何创建特定日期对象,并解释了日期时间组件方法的功能,如获取和设置年、月、日、小时等。此外,还提到了Date.now()方法用于获取当前时间的毫秒数。

被折叠的 条评论
为什么被折叠?



