function isDateValid(year, month, day) {
// 创建一个Date对象,将年、月、日作为参数传入
// 注意:在JavaScript中,月份是从0开始的,所以实际月份要减1
var date = new Date(year, month - 1, day);
// 使用getFullYear()、getMonth()和getDate()方法获取日期对象的年、月、日
var validYear = date.getFullYear() === year;
var validMonth = date.getMonth() === month - 1;
var validDay = date.getDate() === day;
// 如果年、月、日的值和传入的参数相等,且日期对象的时间有效,则日期合法
return validYear && validMonth && validDay && !isNaN(date.getTime());
}
console.log(isDateValid(2022, 12, 31)); // true
console.log(isDateValid(2022, 13, 31)); // false,无效的月份
console.log(isDateValid(2022, 2, 29)); // false,2022年不是闰年,2月没有29日
console.log(isDateValid(2022, 2, 28)); // true