JavaScript 日期

JavaScript 日期对象让我们可以处理日期。

JavaScript 日期对象让我们可以处理日期。

创建日期对象

日期对象是用 new Date() 构造函数创建的 。

4 种方法可以创建新的日期对象:

new Date()
new Date(year, month, day, hours, minutes, seconds, milliseconds)
new Date(milliseconds)
new Date(dateString)

new Date()

new Date() 使用当前日期和时间创建一个新的日期对象:

const d = new Date();

日期对象是静态的。计算机时间在滴答作响,但日期对象却没有。

new Date(year, month, …)

new Date(year, month, ...) 通过指定日期和时间创建新日期对象。

7 个参数按顺序指定年、月、日、小时、分钟、秒和毫秒:

const d = new Date(2018, 11, 24, 10, 33, 30, 0);

!! 注意: JavaScript 从 0 到 11 代表月份,一月是 0。十二月是 11。

6 个参数按顺序指定年、月、日、时、分、秒:

const d = new Date(2018, 11, 24, 10, 33, 30);

5 个参数按顺序指定年、月、日、小时和分钟:

const d = new Date(2018, 11, 24, 10, 33);

4 个参数按顺序指定年、月、日和小时:

const d = new Date(2018, 11, 24, 10);

3 个参数按顺序指定年、月和日:

const d = new Date(2018, 11, 24);

2 个参数按顺序指定年份和月份:

const d = new Date(2018, 11);

如果您只提供一个参数,代表毫秒。

const d = new Date(2018);

如果年份是 1 位和 2 位数,那么年份被解释为 19xx 年。

new Date(99, 11, 24) 代表 1999 年 11 月 24 日:

const d = new Date(99, 11, 24);

new Date(9, 11, 24) 代表 1909 年 11 月 24 日:

const d = new Date(9, 11, 24);

new Date(dateString)

new Date(dateString) 从一个给定的日期格式的字符串创建一个新的日期对象:

const d = new Date("2021-01-01 11:13:00");

日期字符串在下一章中描述。

new Date(milliseconds)

new Date(milliseconds) 创建以距离 1970 年 1 月 1 日 00:00:00 UTC(协调世界时间)以来的毫秒数创建一个时间对象。

JavaScript 将 1970 年 1 月 1 日 00:00:00 UTC(协调世界时间)视为零时间,所有时间的存储都是存贮的距离零时间的毫秒数

以零时间创建时间对象:

const d = new Date(0);

以零时间之后的 100000000000 毫秒创建时间对象:

const d = new Date(100000000000);

以零时间之前的 100000000000 毫秒创建时间对象:

const d = new Date(-100000000000);

日期方法

Date 对象内置了很多方法对日期进行操作。比如显示为本地时间,获取日期的年、月、日、小时、分钟、秒和毫秒信息。

请跳转到下面的章节了解详细信息:

  • Date get 方法: 日期对象提供了一些方法可用于从日期获取信息。
  • Date set 方法:日期对象提供了一些方法可用于设置日期的值,比如:年、月、日、小时、分钟、秒、毫秒等。

显示日期

JavaScript 将(默认)以全文字符串格式输出日期,比如:

Wed Mar 25 2015 08:00:00 GMT+0800 (中国标准时间)

当您在 HTML 中显示日期对象时,自动调用日期对象的 toString() 方法转换为字符串。

const d = new Date();
document.getElementById("demo").innerHTML = d;

上面的例子和下面的例子是一样的。

const d = new Date();
document.getElementById("demo").innerHTML = d.toString();

toUTCString() 方法将日期转换为 UTC 字符串(日期显示标准)。 UTC 时间比中国时间早 8 个小时,当中国时间 8 点的时候, UTC 时间才 0 点。

const d = new Date();
document.getElementById("demo").innerHTML = d.toUTCString();

toDateString() 方法将日期对象转换为更易读的格式,包含日期和星期:

const d = new Date();
document.getElementById("demo").innerHTML = d.toDateString();

toISOString() 方法使用 ISO 标准格式显示日期:

const d = new Date();
document.getElementById("demo").innerHTML = d.toISOString();