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.

Plain text
Copy to clipboard
Open code in new window
EnlighterJS 3 Syntax Highlighter
/**
* 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;
}
}
/** * 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; } }
/**
 * 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

Plain text
Copy to clipboard
Open code in new window
EnlighterJS 3 Syntax Highlighter
$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 */
$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 */
$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 */