public function monthLengthDays(int $month, int $year = null) : int
    {
        switch ($month) {
            case 1:
            case 3:
            case 5:
            case 7:
            case 8:
            case 10:
            case 12:
                return 31;
            case 4:
            case 6:
            case 9:
            case 11:
                return 30;
            case 2:
                return !date('L', $year === null ? $this->getTimestamp() : mktime(1, 1, 1, 2, 1, $year)) ? 28 : 29;
        }
        throw new \InvalidArgumentException('Arg month[' . $month . '] is not 1 through 12.');
    }
public function monthLengthDays(int $month, int $year = null) : int
    {
        switch ($month) {
            case 1:
            case 3:
            case 5:
            case 7:
            case 8:
            case 10:
            case 12:
                return 31;
            case 4:
            case 6:
            case 9:
            case 11:
                return 30;
            case 2:
                return !date('L', $year === null ? $this->getTimestamp() : mktime(1, 1, 1, 2, 1, $year)) ? 28 : 29;
        }
        throw new \InvalidArgumentException('Arg month[' . $month . '] is not 1 through 12.');
    }
public function monthLengthDays ( int $ month , int $ year = null ) : int { switch ( $ month ) { case 1 : case 3 : case 5 : case 7 : case 8 : case 10 : case 12 : return 31 ; case 4 : case 6 : case 9 : case 11 : return 30 ; case 2 : return ! date ( 'L' , $ year === null ? $ this -> getTimestamp ( ) : mktime ( 1 , 1 , 1 , 2 , 1 , $ year ) ) ? 28 : 29 ; } throw new \ InvalidArgumentException ( 'Arg month[' . $ month . '] is not 1 through 12.' ) ; }
Number of days in a month of year.

@param int $month
@param int|null $year
Null: year of this object.

@return int

@throws \InvalidArgumentException
Arg month not 1 through 12.
Number of days in a month of year .