JavaScript – setFullYear()方法
在JavaScript中,日期是一个常见的数据类型。日期对象有一个内置方法setFullYear(),它可以设置日期的完整年份。这个方法会返回一个新日期对象,它的年份是由输入参数指定的。
用法
setFullYear()方法可以有一个或多个参数:
- year:完整的年份(例如 2021)。
- month:从0到11的整数,表示月份。如果省略此参数,则不会更改月份(默认为当前月份)。
- day:从1到31的整数,表示月份中的第几天。如果省略此参数,则不会更改日期(默认为当前日期)。
以下是一个设置完整年份的示例:
let date = new Date();
date.setFullYear(2022);
console.log(date.getFullYear()); // 2022
在这个示例中,我们首先实例化一个日期对象,然后使用setFullYear()方法将其年份设置为2022。最后,使用getFullYear()方法来获取正确的年份。
我们也可以使用setFullYear()来设置月份和日期
let date = new Date();
date.setFullYear(2022, 11, 24);
console.log(date); // Wed Dec 24 2022 04:55:19 GMT+0800 (中国标准时间)
在这个示例中,我们使用一年,一个月和一天的数字参数来同时设置完整日期。如果我们只使用年份和月份,则日期默认为1日。
let date = new Date();
date.setFullYear(2022, 11);
console.log(date); // Sat Dec 01 2022 16:02:09 GMT+0800 (中国标准时间)
异常情况
如果输入的year参数不是一个有效的年份,setFullYear()会返回NaN。如果输入的year,month或day参数包含锁定范围之外的值,则会更改上一个或下一个月或年。这些输入参数按顺序解释,并且一个小于当前有效范围的值将影响下一个大于有效范围的值。
let date = new Date('2022-02-28');
date.setFullYear(2021, 1, 31);
console.log(date); // Fri Mar 03 2023 00:00:00 GMT+0800 (中国标准时间)
在这个示例中,我们创建一个日期对象并将其设置为2022年2月28日。然后我们使用setFullYear()方法来将年份设置为2021.但由于2021年2月只有28天,所以设置日期为31号时,会按顺序影响月份,最后我们得到的日期是2023年3月3日。
结论
setFullYear()方法是设置JavaScript日期对象年份,月份和日期的一个很好的方法。在使用它时,要特别注意输入参数和锁定范围以避免异常情况出现。使用此方法后,总是要进行验证以确保设置了正确的日期。