Get Weeks In Month Through Javascript

后端 未结 17 1345
盖世英雄少女心
盖世英雄少女心 2020-11-30 09:03

In Javascript, how do I get the number of weeks in a month? I can\'t seem to find code for this anywhere.

I need this to be able to know how many rows I need for a g

17条回答
  •  爱一瞬间的悲伤
    2020-11-30 09:39

    Weeks start on Sunday

    This ought to work even when February doesn't start on Sunday.

    function weekCount(year, month_number) {
    
        // month_number is in the range 1..12
    
        var firstOfMonth = new Date(year, month_number-1, 1);
        var lastOfMonth = new Date(year, month_number, 0);
    
        var used = firstOfMonth.getDay() + lastOfMonth.getDate();
    
        return Math.ceil( used / 7);
    }
    

    Weeks start on Monday

    function weekCount(year, month_number) {
    
        // month_number is in the range 1..12
    
        var firstOfMonth = new Date(year, month_number-1, 1);
        var lastOfMonth = new Date(year, month_number, 0);
    
        var used = firstOfMonth.getDay() + 6 + lastOfMonth.getDate();
    
        return Math.ceil( used / 7);
    }
    

    Weeks start another day

    function weekCount(year, month_number, startDayOfWeek) {
      // month_number is in the range 1..12
    
      // Get the first day of week week day (0: Sunday, 1: Monday, ...)
      var firstDayOfWeek = startDayOfWeek || 0;
    
      var firstOfMonth = new Date(year, month_number-1, 1);
      var lastOfMonth = new Date(year, month_number, 0);
      var numberOfDaysInMonth = lastOfMonth.getDate();
      var firstWeekDay = (firstOfMonth.getDay() - firstDayOfWeek + 7) % 7;
    
      var used = firstWeekDay + numberOfDaysInMonth;
    
      return Math.ceil( used / 7);
    }
    

提交回复
热议问题