Obtener del último día de un mes y año

Código PHP

PHP – Date – Último día mes

Función de devuelve el último día de un mes y año determinado. Si el mes es incorrecto, devuelve null.

/**
 * Class HelperDate
 */
abstract class HelperDate
{
    /**
     * Devuelve el la fecha del último día de un mes y año determinado.
     * Si el mes o el año son incorrecto, devuelve null
     * Formato de fecha: yyyy-mm-dd
     *
     * @param int $month
     * @param int $year
     *
     * @return string
     */
    public static function getLastDayOfMonth($month, $year)
    {
        if ($month < 1 && $month > 12) {
            return null;
        }
        $day = date("d", mktime(0, 0, 0, $month + 1, 0, $year));
        
        return $year.'-'.substr('00'.$month, -2).'-'.$day;
    }

}

Ejemplos

$last = HelperDate::getLastDayOfMonth(1, 2000);       
         /* 2000-01-31 */
  
$last = HelperDate::getLastDayOfMonth(2, 2016);       
         /* 2016-02-29 */

$last = HelperDate::getLastDayOfMonth(2, 2021);       
         /* 2021-02-28 */

$last = HelperDate::getLastDayOfMonth(11, 2021);      
         /* 2021-11-30 */

$last = HelperDate::getLastDayOfMonth(12, 2021);      
         /* 2021-12-31 */