function isValidDate(d) {
if (Object.prototype.toString.call(d) === "[object Date]") {
if (isNaN(d.getTime())) {
return false
} else {
return true
}
}
}
let d1 = new Date();
let d2 = new Date(2020, 5, 21);
let d3 = new Date('2020-555-19');
let d4 = new Date(2020, 5, 2222222221, 10, 42, 33);
let d5 = new Date(999999930000);
let d6 = new Date("May 21, 2020 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
*/