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>
输出
如果我们执行上述程序,它将返回一个表示当前日期和时间的字符串。