Obtener el primer y último día del mes en PHP

UPDATE

Desde la versión 5.2 o superior de PHP existe la clase DateTime que permite de una forma mucho mas sencilla conseguir el primero o el último día de un mes, simplemente haciendo una modificación al objeto de fecha creado como el siguiente ejemplo:

$my_date = new DateTime();

$my_date->modify('first day of september 2015');
echo $my_date->format('d/m/Y');

$my_date->modify('last day of february 2017');
echo $my_date->format('d/m/Y');

Pequeño aporte de un par de funciones que a mi me han dado solución en mas de un problema desarrollando con fechas en PHP. Se que se pueden mejorar, sois libres de hacerlo ya sea vía comentario o forkeando en Github.

  /** Actual month last day **/
  function _data_last_month_day() { 
      $month = date('m');
      $year = date('Y');
      $day = date("d", mktime(0,0,0, $month+1, 0, $year));
 
      return date('Y-m-d', mktime(0,0,0, $month, $day, $year));
  };
 
  /** Actual month first day **/
  function _data_first_month_day() {
      $month = date('m');
      $year = date('Y');
      return date('Y-m-d', mktime(0,0,0, $month, 1, $year));
  }

14 comentarios

Deja un comentario