难点函数是闰年

Difficult function isLeapYear

我应该写一个函数 isLeapYear.t 应该接受一个毫秒数或日期字符串作为参数。此函数检查传递的参数是否为闰年。如果是闰年,函数应该 return 一个字符串 – '“year” is a leap year' 如果不是,应该 return string - ' “year” is not a leap year '.我应该使用 Date 对象。我知道这不是我想要的

if (year % 400 == 0)
  leap = true;
else if (year % 100 == 0)
  leap = false;
else if (year % 4 == 0)
  leap = true;
else
  leap = false;

For Example isLeapYear('2020-01-01 00:00:00'); // =>  ‘2020 is a leap year’
isLeapYear('2020-01-01 00:00:00777'); // =>  ‘Invalid Date’
isLeapYear('2021-01-15 13:00:00');  // =>  ‘2021 is not a leap year’
isLeapYear('2200-01-15 13:00:00'); // =>  ‘2200 is not a leap year’
isLeapYear(1213131313135465656654564646542132132131); // =>  ‘Invalid Date’
isLeapYear(1213131313); ); // => ‘1970 is not a leap year’

我假设你想要 JS,尽管这个例子在天知道是什么

const isLeapYearHelper = (year) => (year % 400 == 0 ? true : year % 100 == 0 ? false : year % 4 == 0 ? true : false)

const isLeapYear = (str) => {
const date = new Date(str)
const isValid = !isNaN(date.getTime())
return isValid ? isLeapYearHelper(date.getFullYear()) ? `${date.getFullYear()} is a leap year` : `${date.getFullYear()} is a not leap year` : 'Invalid Date'
}

console.log(isLeapYear('2020-01-01 00:00:00777'))
console.log(isLeapYear('2021-01-15 13:00:00'))
console.log(isLeapYear('2200-01-15 13:00:00'))
console.log(isLeapYear('2020-01-15 13:00:00'))
console.log(isLeapYear(1213131313135465656654564646542132132131))
console.log(isLeapYear(1213131313))