Javascript 获取日期的最后一天';s当前季度使用moment.js

Javascript 获取日期的最后一天';s当前季度使用moment.js,javascript,momentjs,Javascript,Momentjs,我有一个javascript日期,比如05-04-2020 我正试图找出如何得到该日期的当前季度,然后是该季度的最后一天。在这种情况下,答案应该是06-30-2020 下面是我创建的一个函数,但我觉得这不是最好的方法: function getLastDayOfQuarterMonth(date) { let retVal const quarter = moment(date).quarter() switch(quarter) { case 1:

我有一个javascript日期,比如05-04-2020

我正试图找出如何得到该日期的当前季度,然后是该季度的最后一天。在这种情况下,答案应该是06-30-2020

下面是我创建的一个函数,但我觉得这不是最好的方法:

function getLastDayOfQuarterMonth(date) {
    let retVal
    const quarter = moment(date).quarter()
    switch(quarter) {
      case 1:
        retVal = new Date(moment(date).year(), 2, 31)
        break;
      case 2:
        retVal = new Date(moment(date).year(), 5, 30)
        break;
      case 3:
        retVal = new Date(moment(date).year(), 8, 30)
        break;
      case 4:
        retVal = new Date(moment(date).year(), 11, 31)
        break;
    }

    return retVal
}
我们可以利用
提供的方法

const date=“05-04-2020”;
const getLastDayOf quarter=(日期)=>矩().quarter(矩(日期,“MM-DD-YYYY”).quarter().endOf('quarter')。格式(“MM-DD-YYYY”);
日志(GetLastDayofQuarter(date));
log(GetLastDayOfQuarter(矩()格式(“MM-DD-YYYY”))
您可以简单地使用:

函数getLastDayOfQuarterMonth(日期){ 返回时刻(日期,“MM-DD-YYYY”).endOf(“季度”).toDate(); } 控制台日志(获取四分之一月的最后一天(“05-04-2020”)
您可以使用此函数

例如:

function getLastDayOfQuarterMonth(date) {
    let retVal = moment().quarter(moment(date).quarter()).endOf('quarter').format('MM-DD-YYYY');
    return retVal
}
let date = "05-04-2020";
alert(getLastDayOfQuarterMonth(date));
JSFIDLE

主要