JavaScript Date() constructor(构造函数)



JavaScript 中的 Date() constructor(构造函数)用于创建表示当前日期和时间的新 Date 对象。可以使用或不使用 new 关键字来调用构造函数。

当我们调用不带任何参数的 Date() 构造函数时,它会以系统指定的格式返回一个字符串,表示当前日期和时间。

当使用参数调用时,它会根据提供的参数构造一个 Date 对象,表示特定日期和时间。如果任何参数超出其有效范围,则构造函数会相应地调整其他参数。如果未提供任何参数或参数为 NaN,则构造函数默认为 Epoch 的开始时间(1970 年 1 月 1 日,00:00:00 UTC)。

语法

以下是 JavaScript Date() 构造函数的语法 -


new Date()
new Date(value)
new Date(dateString)
new Date(dateObject)

参数

以下是上述语法的描述 -

  • new Date() − 如果未传递任何参数,则返回当前日期和时间。返回的时间戳与 Date.now() 方法返回的值相同。
  • new Date(value) − 表示时间戳的整数值(自 Unix 纪元(1970 年 1 月 1 日,00:00:00 UTC)以来的毫秒数)。
  • new Date(dateString) − 这将基于日期字符串创建 Date 对象。dateString 参数可以采用不同的格式,例如“YYYY-MM-DD”或“YYYY-MM-DDTHH:MM:SSZ”。
  • new Date(dateObject) − 这将通过克隆另一个 Date 对象来创建一个 Date 对象。dateObject 参数表示将复制其值的现有 Date 对象。

我们可以通过将单个日期和时间组件值作为参数传递来调用带有 “new” 关键字的 Date() ,如下所示 -


 new Date(year, monthIndex, day, hours, minutes, seconds, milliseconds)

参数

在这里,“new Date()”最多接受 7 个参数 -

  • year − 表示年份的整数值(例如,2024)。
  • monthIndex – 表示月份的数字索引,从 1 月的 0 到 12 月的 11 开始。
  • day (可选) - 月份中的日期 (1-31)。
  • hours (可选) − 一天中的小时 (0-23)。
  • minutes (可选) − 每小时的分钟数 (0-59)。
  • seconds (可选) − 分钟的秒数 (0-59)。
  • milliseconds(可选)− 秒的毫秒数 (0-999)。

我们也可以在没有 “new” 关键字的情况下调用 Date()。但是,调用 Date() (不带 “new” 关键字)始终返回当前日期和时间的字符串表示形式;而不考虑传递给它的任何参数。


 Date()

示例 1

在下面的示例中,我们使用 “new” 关键字调用 Date() 构造函数。此外,我们还为构造函数提供了任何参数 -


<html>
<body>
<script>
	 	const date = new Date();
	 	document.write(date);
</script>
</body>
</html>

输出

由于没有向 Date() 构造函数提供任何参数,因此它返回当前日期和时间。

示例 2

此示例根据自 1970 年 1 月 1 日 00:00:00 UTC(Unix 纪元)以来的毫秒数创建一个 Date 对象。


<html>
<body>
<script>
	 	const dateFromMilliseconds = new Date(1612826400000); //Feb 9, 2021
	 	document.write(dateFromMilliseconds);
</script>
</body>
</html>

输出

如果我们执行上述程序,它将返回一个表示 2021 年 2 月 9 日的时间戳。

示例 3

以下示例从提供的 “date string” 创建一个 Date 对象 -


<html>
<body>
<script>
	 	const dateFromString = new Date('2024-03-08 18:35:00');
	 	document.write(dateFromString);
</script>
</body>
</html>

输出

如果我们执行上述程序,它会根据提供的日期字符串返回 date 对象。

示例 4

此示例通过复制另一个 Date 对象的值来创建新的 Date 对象 -


<html>
<body>
<script>
	 	const currentDate = new Date();
	 	const dateFromObject = new Date(currentDate);
	 	document.write(dateFromObject); // Output: Current date and time
</script>
</body>
</html>

输出

执行上述程序后,它会返回当前日期和时间作为结果。

示例 5

在下面的示例中,我们将所有参数提供给 Date() 构造函数以创建 Date 对象 -


<html>
<body>
<script>
	 	const specificDate = new Date(2024, 2, 15, 18, 35, 21, 119);
	 	document.write(specificDate);
</script>
</body>
</html>

输出

如果我们执行上述程序,它会返回“Fri Mar 15 2024 18:35:21 GMT+0530 (India Standard Time)”作为结果。

示例 6

在这里,我们调用了没有 “new” 关键字的 Date() 构造函数 −


<html>
<body>
<script>
	 	const date = Date();
	 	document.write(date);
</script>
</body>
</html>

输出

如果我们执行上述程序,它将返回一个表示当前日期和时间的字符串。