JavaScript学习笔记(十一)Date
基本内容
- ECMAScript 的 Date 类型参考了 Java 早期版本中的 java.util.Date。
- Date 类型将日期保存为自协调世界时(UTC,Universal Time Coordinated)时间 1970 年 1 月 1 日午夜(零时)至今所经过的毫秒数。
- 使用这种存储格式,Date 类型可以精确表示 1970 年 1 月 1 日之前及之后 285616 年的日期。
创建
- 要创建日期对象,就使用 new 操作符来调用 Date 构造函数
- 在不给 Date 构造函数传参数的情况下,创建的对象将保存当前日期和时间;
1 | let now = new Date(); |
- 要基于其他日期和时间创建日期对象,必须传入其毫秒表示。
- ECMAScript为此提供了两个辅助方法:Date.parse()和Date.UTC()
- Date.parse()方法接收一个表示日期的字符串参数,尝试将这个字符串转换为表示该日期的毫秒数。规则如下:
格式 | 结果 |
---|---|
月/日/年 | 5/23/2021 |
月名 日,年 | May 23,2021 |
周几 月名 日 年 时:分:秒 时区 | Sun May 23 2021 00:00:00 GMT-0700 |
YYYY-MM-DDTHH:mm:ss.sssZ | 2021-05-23T00:00:00 |
- 如果传给 Date.parse()的字符串并不表示日期,则该方法会返回 NaN;
- 如果直接把表示日期的字符串传给 Date 构造函数,那么 Date 会在后台调用 Date.parse()。
- Date.UTC()的参数是年、零起点月数(1 月是 0,2 月是 1,以此类推)、日(1
31)、时(023)、分、秒和毫秒这些参数中,只有前两个(年和月)是必需的; - 如果不提供日,那么默认为 1 日。其他参数的默认值都是 0。
- ECMAScript 还提供了 Date.now()方法,ᤄ回表示方法执行时日期和时间的毫秒数。
继承的方法
- Date 类型重写了 toLocaleString()、toString()和 valueOf()方法;
- Date 类型的 toLocaleString()方法返回与浏览器运行的本地环境一致的日期和时间,这通常意։着格式中包含针对时间的 AM(上午)或 PM(下午),但不包含时区信息;
- toString()方法通常返回ࣛ时区信息的日期和时间,而时间也是以 24 小时制(0~23)表示的;
- Date 类型的 valueOf()方法本就不返回字符串,这个方法被重写后ᤄ回的是日期的毫秒表示。
日期格式化方法
方法 | 结果 |
---|---|
toDateString() | 显示日期中的周几、月、日、年(格式特定于实现) |
toTimeString() | 显示日期中的时、分、秒和时区(格式特定于实现) |
toLocaleDateString() | 显示日期中的周几、月、日、年(格式特定于实现和地区) |
toLocaleTimeString() | 显示日期中的时、分、秒(格式特定于实现和地区) |
toUTCString() | 显示完整的 UTC 日期(格式特定于实现) |
日期/时间组件方法
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 姚永坤的小窝!
评论