JavaScript Date setFullYear() 方法
setFullYear() 方法是 JavaScript 内置函数,用于设置 Date 对象的"年份"部分。此方法的返回值是 Date 对象的更新时间戳,反映了修改年份后的变化。我们还可以选择性地修改 Date 对象的月份和日期值。
如果传递给此方法的任何参数为 NaN 或未定义,则日期将被设置为"无效日期",并返回非数字 (NaN)。
语法
以下是 JavaScript Date setFullYear() 方法的语法 -
setFullYear(yearValue, monthValue, dateValue);
参数
此方法接受三个参数。具体说明如下:-
- yearValue - 一个整数,表示新的年份(四位数字)。
-
monthValue (可选) - 一个介于 0 到 11 之间的整数,其中 0 表示一月,11 表示十二月。
- 如果提供 -1,则结果为上一年的最后一个月。
- 如果提供 12,则结果为下一年的第一个月。
-
dateValue(可选) − 1 到 31 之间的整数。
- 如果提供 0,则结果为上个月的最后一天。
- 如果提供 -1,则结果为上个月最后一天的前一天。
- 如果提供 32,则结果为下个月的第一天(如果该月有 31 天)。
- 如果提供 32,则结果为下个月的第二天(如果该月有 30 天)。
返回值
setFullYear() 方法在设置年份后返回更新后的日期对象的时间戳。
示例 1
在下面的示例中,我们使用 JavaScript Date 的 setFullYear() 方法将 Date 对象的年份设置为 2023 年 -
<html> <body> <script> const currentDate = new Date(); currentDate.setFullYear(2023); document.write(currentDate); </script> </body> </html>
输出
如果我们执行上述程序,年份将设置为 2023 年,月份和日期将根据当地时间。
示例 2
在这里,我们将年份设置为 2023 年,月份设置为 10 月(11 月),日期设置为 25 日 -
<html> <body> <script> const specificDate = new Date(); specificDate.setFullYear(2023, 10, 25); document.write(specificDate); </script> </body> </html>
输出
执行后,该程序将返回包含指定日期的时间戳。
示例 3
在此示例中,我们仅更改年份,同时保持现有的月份(5 月)和日期(15)不变。
<html>
<body>
<script>
const existingDate = new Date('2022-05-15');
existingDate.setFullYear(2023);
document.write(existingDate);
</script>
</body>
</html>
输出
它返回一个时间戳,如下所示 "Mon May 15 2023 05:30:00".
示例 4
如果我们将 monthValue 指定为"12",则年份将增加 1(yearValue + 1),并且月份将使用 0。
<html>
<body>
<script>
const existingDate = new Date('2022-11-15'); //December 15 2022
existingDate.setFullYear(2022, 12, 15); // It will be January 15 2023
document.write(existingDate);
</script>
</body>
</html>
输出
它返回一个时间戳,如下所示 "Sun Jan 15 2023 05:30:00".
示例 5
如果我们将 dateValue 指定为"32",则月份将加 1(如果该月份有 31 天),并显示下个月的第一天。
<html>
<body>
<script>
const existingDate = new Date('2023-10-30');
existingDate.setFullYear(2023, 9, 32);
document.write(existingDate);
</script>
</body>
</html>
输出
它返回一个时间戳,如下所示 "Wed Nov 01 2023 05:30:00".
示例 6
如果我们将无效的日期值作为参数传递给此函数,则该日期将被设置为"无效日期",并返回"NaN"作为结果 -
<html>
<body>
<script>
const currentDate = new Date();
currentDate.setFullYear("dfbgf");
document.write(currentDate.getUTCFullYear());
</script>
</body>
</html>
输出
如我们所见,输出结果为"NaN"。

