Cómo 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));
  }

Comentarios

15 respuestas a «Cómo obtener el primer y último día del mes en PHP»

  1. Gracias por el aporte…

  2. Eres lo Máximo Chapulin Colorado…

  3. Justo esto buscaba, gracias por el aporte loco! … creeme que si es de utilidad para la gente. Me has sacao de apuros tio.

  4. ¡Fenomenal! Un buen rato que me has quitado.

  5. muy bueno. gracias por el aporte …!!!

  6. Gracias en verdad sirvio

  7. Interesante Script

  8. Muchas gracias por el aporte.
    Una observación, el primer día de cada mes normalmente es el 01.

  9. Me salvaste la vida con una funcion que tenia que hacer. Gracias!!!

  10. Avatar de Antonio Hernandez
    Antonio Hernandez

    mil gracias por el aporte. saludos

  11. Avatar de Jeffersonor90

    se podría con días hábiles? si el primer día del mes fuera festivo… podría salir el siguiente día hábil?

    1. Ahí quizá ya tendrías que tener un array por ejemplo con los días festivos del año e ir validando y sumando.

  12. Avatar de JLRAMIREZ - JOSE LUIS RAMIREZ
    JLRAMIREZ – JOSE LUIS RAMIREZ

    Gracias por el aporte Maestro

  13. Muchas gracias por el aporte me sirvió en mi trabajo

  14. Excelente estimado. Justo lo que necesitaba.

Deja un comentario