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;
}
}
/**
* 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
$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 */