new Date() 原理
创建一个 JavaScript
Date
实例,该实例呈现时间中的某个时刻。
Date
对象则基于
Unix Time Stamp
,即自 1970 年 1 月 1 日(UTC)起经过的毫秒数。
Date() 语法
1. new Date(); //如果没有提供参数,那么新创建的Date对象表示实例化时刻的日期和时间。
2. new Date(value); //一个 Unix 时间戳(Unix Time Stamp),它是一个整数值,表示自1970年1月1日00:00:00 UTC(the Unix epoch)以来的毫秒数,忽略了闰秒。请注意大多数 Unix 时间戳功能仅精确到最接近的秒
3. new Date(dateString); //表示日期的字符串值。该字符串应该能被 Date.parse() 正确方法识别
4. new Date(year, monthIndex [, day [, hours [, minutes [, seconds [, milliseconds]]]]]);
//当至少提供了年份与月份时,这一形式的 Date() 返回的 Date 对象中的每一个成员都来自下列参数。没有提供的成员将使用最小可能值(对日期为1,其他为0)。
//参数monthIndex 是从“0”开始计算的,这就意味着一月份为“0”,十二月份为“11”。
备注: 创建一个新Date
对象的唯一方法是通过new
操作符,例如:let now = new Date();
若将它作为常规函数调用(即不加 new
操作符),将返回一个字符串,而非 Date
对象。
new Date() 坑点
在北美太平洋时间调用,会出现下面这个问题:
解决方案如下: