回到课程

某月的最后一天?

重要程度: 5

写一个函数 getLastDayOfMonth(year, month) 返回 month 月的最后一天。有时候是 30,有时是 31,甚至在二月的时候会是 28/29。

参数:

  • year —— 四位数的年份,比如 2012。
  • month —— 月份,从 0 到 11。

举个例子,getLastDayOfMonth(2012, 1) = 29(闰年,二月)

打开带有测试的沙箱。

让我们使用下个月创建日期,但将零作为天数(day)传递:

function getLastDayOfMonth(year, month) {
  let date = new Date(year, month + 1, 0);
  return date.getDate();
}

alert( getLastDayOfMonth(2012, 0) ); // 31
alert( getLastDayOfMonth(2012, 1) ); // 29
alert( getLastDayOfMonth(2013, 1) ); // 28

通常,日期从 1 开始,但从技术上讲,我们可以传递任何数字,日期会自动进行调整。因此,当我们传递 0 时,它的意思是“一个月的第一天的前一天”,换句话说:“上个月的最后一天”。

使用沙箱的测试功能打开解决方案。