JavaScript 日期
实例
const d = new Date();
const d = new Date("2022-03-25");
说明
日期对象是静态的,其"时钟"并非"实时运行"。
计算机时钟在持续走动,而日期对象并不会自动更新。
JavaScript 日期输出
默认情况下,JavaScript 将使用浏览器的时区并将日期显示为全文本字符串:
Tue Apr 02 2019 09:01:19 GMT+0800 (中国标准时间)
稍后,您将在本教程学到更多关于如何显示日期的知识。
创建 Date 对象
Date 对象由新的 Date() 构造函数创建。
有 9 种方法创建新的日期对象:
new Date() new Date(date string) new Date(year,month) new Date(year,month,day) new Date(year,month,day,hours) new Date(year,month,day,hours,minutes) new Date(year,month,day,hours,minutes,seconds) new Date(year,month,day,hours,minutes,seconds,ms) new Date(milliseconds)
JavaScript new Date()
new Date() 用当前日期和时间创建新的日期对象:
实例
const d = new Date();
日期对象是静态的。计算机时间正在滴答作响,但日期对象不会。
new Date(date String)
new Date(date String) 从日期字符串创建一个新的日期对象:
实例
const d = new Date("October 13, 2014 11:13:00");
实例
const d = new Date("2022-03-25");
日期字符串将在下一章中介绍。
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。
如果将月份指定为大于 11 的数值,不会引发错误,而是会将溢出部分累加到下一年中:
const d = new Date(2018, 15, 24, 10, 33, 30);
相当于:
const d = new Date(2019, 3, 24, 10, 33, 30);
若指定的日期大于当月最大值,不会引发错误,而是会将溢出天数累加到下一个月:
例如指定:
const d = new Date(2018, 5, 35, 10, 33, 30);
等价于:
const d = new Date(2018, 6, 5, 10, 33, 30);
使用 6、4、3 或 2 个数字
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);
上个世纪
一位和两位数年份将被解释为 19xx 年:
实例
const d = new Date(99, 11, 24);
实例
const d = new Date(9, 11, 24);
JavaScript 以毫秒形式存储日期
JavaScript 将日期存储为自 1970 年 1 月 1 日以来的毫秒数。
时间零点为世界标准时间(UTC)1970 年 1 月 1 日 00:00:00。
一天(24 小时)相当于 86,400,000 毫秒。
当前时间为:自 1970 年 1 月 1 日以来已过去 毫秒。
new Date(milliseconds)
new Date(milliseconds) 创建一个零时加毫秒的新日期对象:
1970年 1 月 1 日加上 100 000 000 000 毫秒,大约是 1973 年 3 月 3 日:
实例
const d = new Date(100000000000);
1970 年 1 月 1 日减去 100 000 000 000 毫秒大约是 1966 年 10 月 31 日:
实例
const d = new Date(-100000000000);
1970 年 1 月 1 日加上 24 小时是:
实例
const d = new Date(24 * 60 * 60 * 1000); // or const d = new Date(86400000); // 一天(24 小时)是 86 400 000 毫秒。
1970 年 1 月 1 日加上 0 毫秒是:
实例
const d = new Date(0);
日期方法
创建 Date 对象时,可以使用许多方法对其进行操作。
日期方法允许您使用本地时间或 UTC(通用或 GMT)时间来获取和设置日期对象的年、月、日、小时、分钟、秒和毫秒。
日期方法和时区将在下一章中介绍。
显示日期
默认情况下,JavaScript 会通过 toString() 方法输出日期。这会返回包含时区信息的日期字符串表示形式,其格式遵循 ECMAScript 规范的规定:
Wed Mar 25 2015 08:00:00 GMT+0800 (中国标准时间)
在 HTML 中显示日期对象时,会使用 toString() 方法自动转换为字符串。
实例
const d = new Date(); d.toString();
toDateString() 方法将日期转换为更易读的格式:
实例
const d = new Date(); d.toDateString();
toUTCString() 方法将日期转换为 UTC 字符串(一种日期显示标准)。
实例
const d = new Date(); d.toUTCString();
toISOString() 方法会按照 ISO 标准将日期转换为字符串:
const d = new Date(); d.toISOString();