JS的Date类型
2021 javascriptDate 类型使用自 UTC 1970年1月1日之后的毫秒数。
Date 构造器
使用 new Date() 构造器来创建一个 Date 对象。在调用 Date 构造函数而不传递参数的情况下,新创建的对象自动获得当前日期和时间。当传入的数字表示从1970年1月1日经过的毫秒数。
const date = new Date(); //Wed Mar 03 2021 12:00:00 GMT+0800 (中国标准时间)
const date = new Date(1000); // Thu Jan 01 1970 08:00:01 GMT+0800 (中国标准时间)
静态方法
为了更好的指定特定的时间和日期,ECMAScript 提供了三个方法:Date now(),Date.parse()和Date.UTC()。
Date.now()
返回至今经过的毫秒数。
Date.now(); // 1614772800000
// 可以利用这点统计时间
const start = Date.now();
doSomething();
const end = Date.now();
const millis = end - start;
Date.parse()
此方法接收一个表示日期的字符串的参数,然后返回对应的毫秒数或者NaN若无法解析。
Date.pares('2021-03-03T12:00:00Z'); // 1614772800000
Date.parse('03 Mar 2021 12:00:00 GMT'); // 1614772800000
Date.parse("2021-03-03"); // 1614729600000
Date.parse('foo-bar 2021'); // NaN
Date.UTC()
此方法接收 UTC 的年月日时分秒以及毫秒数。返回对应的毫秒数。
// Since ECMAScript 2017:
Date.UTC(year[, month[, day[, hour[, minute[, second[, millisecond]]]]]])
// ECMAScript 2016 and earlier: (month used to be required)
Date.UTC(year, month[, day[, hour[, minute[, second[, millisecond]]]]])
- 月份是0(一月)至11(十二月)表示。PS:为什么从0开始,推测国外月份是 January 到 December,不同于国内。
- 天数是1至31表示。
Date 构造函数与 Date.UTC() 两者接受的参数可相同,但是区别是:日期与时间都基于本地时区而非 GMT 创建。
参考链接
- MDN: Date
- 《JavaScript高级程序设计》5.3 Date类型