Date类型详解

224 阅读2分钟

简介

Date类型使用自 UTC(Coordinated Universal Time,国际协调时间)1970 年 1 月 1 日午夜(零时)开始经过的毫秒数来保存日期。在使用这种数据存储格式的条件下,Date 类型保存的日期能够精确到 1970 年 1月 1 日之前或之后的 285 616 年。

创建

使用 new 操作符和 Date 构造函数

示例

var now = new Date();

使用

  • 不传参:不传递参数的情况下自动获得当前日期和时间

  • 传参:如果想根据特定的日期和时间创建日期对象,必须传入表示该日期的毫秒数(即从 UTC 时间 1970 年 1 月 1 日午夜起至该日期止经过的毫秒数)。为了简化计算过程,ECMAScript 提供了两个方法:Date.parse()和 Date.UTC()。

Date.parse()方法

接收一个表示日期的字符串参数,然后尝试根据这个字符串返回相应日

期的毫秒数。这个方法的行为因实现而异,而且通常是因地区而异。如果传入 Date.parse()方法的字符串不能表示日期,那么它会返回 NaN,如果直接将表

示日期的字符串传递给 Date 构造函数,也会在后台调用 Date.parse()。

Date.UTC()方法

Date.UTC()的参数分别是年份、基于 0 的月份(一月是 0,二月是 1,以此类推)、月中的哪一天 (1 到 31)、小时数(0 到 23)、分钟、秒以及毫秒数,在这些参数中,只有前两个参数(年和月)是必需的。如果没有提供月中的天数,则假设天数为 1;如果省略其他参数,则统统假设为 0

继承的方法

Date 类型的 toLocaleString()方法会按照与浏览器设置的地区相适应的格式返回日期和时间。 这大致意味着时间格式中会包含 AM 或 PM,但不会包含时区信息(当然,具体的格式会因浏览器而异)。而 toString()方法则通常返回带有时区信息的日期和时间,其中时间一般以军用时间(即小时的范围是 0 到 23)表示。

日期格式化方法

Date 类型还有一些专门用于将日期格式化为字符串的方法,这些方法如下。

 toDateString()——以特定于实现的格式显示星期几、月、日和年;

 toTimeString()——以特定于实现的格式显示时、分、秒和时区;

 toLocaleDateString()——以特定于地区的格式显示星期几、月、日和年;

 toLocaleTimeString()——以特定于实现的格式显示时、分、秒;

 toUTCString()——以特定于实现的格式完整的 UTC 日期。

与 toLocaleString()和 toString()方法一样

以上这些字符串格式方法的输出也是因浏览器而异的,因此没有哪一个方法能够用来在用户界面中显示一致的日期信息。

日期/时间组件方法

ddddddddd-02-06.png