Skip to content

使用JavaScript获取一个月的第一天或最后一天

通常情况下,获取一个月的第一天非常简单。但是如何获取一个月的最后一天呢?下面是使用JavaScript同时实现这两个功能的方法。

获取一个月的第一天

给定任何Date对象,你可以使用Date.prototype.getFullYear()Date.prototype.getMonth()方法从给定的日期中获取当前年份和月份。为了获取一个月的第一天,你只需要使用这些方法创建一个新的Date对象,并将日期设置为1

const firstDateOfMonth = (date = new Date()) =>
  new Date(date.getFullYear(), date.getMonth(), 1);

firstDateOfMonth(new Date('2015-08-11')); // '2015-08-01'

获取一个月的最后一天

为了获取一个月的最后一天,我们可以在上面的代码基础上使用一个巧妙的技巧。我们将日期设置为0,这将给我们上个月的最后一天。为了使这个方法生效,我们还需要将月份加1

const lastDateOfMonth = (date = new Date()) =>
  new Date(date.getFullYear(), date.getMonth() + 1, 0);

lastDateOfMonth(new Date('2015-08-11')); // '2015-08-31'