JavaScript Date() 构造函数
JavaScript 中的 Date() 构造函数用于创建一个新的 Date 对象,该对象表示当前的日期和时间。该构造函数可以使用或不使用 new 关键字来调用。
当调用 Date() 构造函数时,如果不使用任何参数,它将返回一个以系统指定格式表示当前日期和时间的字符串。
当调用 Date() 构造函数时,如果使用参数,它将根据提供的参数构造一个表示特定日期和时间的 Date 对象。如果任何参数超出其有效范围,构造函数将相应地调整其他参数。如果任何参数未提供或为 NaN,则构造函数默认为纪元起始时间(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 − 表示月份的数字索引,从 0 表示一月到 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 对象 -
<html>
<body>
<script>
const dateFromString = new Date('2024-03-08 18:35:00');
document.write(dateFromString);
</script>
</body>
</html>
输出
如果我们执行上述程序,它将根据提供的日期字符串返回日期对象。
示例 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"。
示例 6
此处,我们调用 Date() 构造函数时未使用"new"关键字 -
<html> <body> <script> const date = Date(); document.write(date); </script> </body> </html>
输出
如果我们执行上述程序,它将返回一个表示当前日期和时间的字符串。

