function isValidDate(d) {
if (Object.prototype.toString.call(d) === "[object Date]") {
if (isNaN(d.getTime())) {
return false;
} else {
return true;
}
} else {
return false;
}
}
let d1 = new Date();
let d2 = new Date(2022, 5, 21);
let d3 = new Date('2022-555-19');
let d4 = new Date(2022, 5, 2222222221, 10, 42, 33);
let d5 = new Date(999999937000);
let d6 = new Date("May 21, 2022 16:53:00");
console.log(isValidDate(d1));
console.log(isValidDate(d2));
console.log(isValidDate(d3));
console.log(isValidDate(d4));
console.log(isValidDate(d5));
console.log(isValidDate(d6));
/*
run:
true
true
false
false
true
true
*/