当月的一周的结束日期

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了当月的一周的结束日期相关的知识,希望对你有一定的参考价值。

我每周(例如星期五)生成报告,我需要当月的一周结束日期。如果是新的月份,则返回该日期的最后一个日期。我在这里第一次约会:-

var firstDay = new Date(date.getFullYear(), date.getMonth(), 1); 

但无法继续。在此先感谢

答案

javascript没有直接提供任何功能来获取此类信息,但是您可以通过计算每月的最后一个星期五来自己完成,例如这样

function lastFridayOfMonth(year, month) {
    // if month will start from one not from 0  then we will have month + 1
    var lastDay = new Date(year, month + 2, 0); 
    var lastDayNumber = 5;
    if(lastDay.getDay() < lastDayNumber) {
        lastDay.setDate(lastDay.getDate() - 7);
    }
    lastDay.setDate(lastDay.getDate() - (lastDay.getDay() - lastDayNumber));
    return lastDay;
}
另一答案

签出RRule软件包。它为您提供了日期和时间间隔的多种可能性。它适用于日历中的规则。

对于您的情况。每个星期五:

import { RRule } from 'rrule'

const rule = new RRule({
  freq: RRule.WEEKLY,
  interval: 1,
  byweekday: [RRule.FR],
})

// fridays in interval, you will got an array array
rule.between(new Date(Date.UTC(2012, 7, 1)), new Date(Date.UTC(2012, 8, 1)))

以上是关于当月的一周的结束日期的主要内容,如果未能解决你的问题,请参考以下文章

使用 DST 获取当前一周的开始/结束日期

计算每一周的开始日期和结束日期

更改 impala trunc() 返回的一周的开始日期

c# 计算当月第几周 算法

如何在mysql中获取日期的一周的第一天?

获取某一天所在周的开始日期和结束日期