Recorrer un rango de fechas en php

Introducción

Recientemente para un proyecto, necesitaba recorrer un rango de fechas en php, para realizar una serie de comprobaciones cada día de ese rango.

Investigando a ver cómo se podía hacer de manera sencilla, encontré un método que puede resultarnos muy útil.

Como comentaba en un post para calcular dias entre dos fechas, lo primordial es realizar la conversion a timestamp.

Convertir fecha a timestamp

Lo primero es convertir la fecha a formato timestamp con la función strtotime:

echo strtotime("dd-mm-aaaa");

en la que debemos sustituir “dd-mm-aaaa” por la fecha a convertir.

Si queremos obtener el timestamp de ahora mismo, es tan simple como hacer

echo strtotime("now");

Como recorrer un rango de fechas

Se trata de utilizar un bucle for de toda la vida, pero haciendo una conversión de las fechas a timestamp. Además, incrementaremos la variable en 86400 (el número de segundos de un día), de esta manera avanzamos día a día.

Por ejemplo, si queremos recorrer el rango de fechas del 25 de febrero de 2008 al 1 de abril de 2008, lo haríamos asi:

<?php
$fechaInicio=strtotime("25-02-2008");
$fechaFin=strtotime("01-04-2008");
for($i=$fechaInicio; $i<=$fechaFin; $i+=86400){
    echo date("d-m-Y", $i)."<br>";
}
?>

Con este método nos evitamos las comprobaciones por si es año bisiesto, numero de días por mes, etc. ¿Conocéis alguna otra manera de recorrer un rango de fechas que sea sencilla?. Si es así, dejar un mensaje, y así nos beneficiamos todos… ;D

64 Comentarios

  1. Steve 28 noviembre, 2019
    • Nacho 29 noviembre, 2019
  2. Steve 26 noviembre, 2019
    • Nacho 28 noviembre, 2019
  3. juanda 24 octubre, 2019
  4. elbarto 9 octubre, 2019
  5. etv 19 agosto, 2019
    • admin 28 agosto, 2019
  6. Luki 24 mayo, 2019
    • admin 25 mayo, 2019
      • Luki 27 mayo, 2019
        • Luki 27 mayo, 2019
          • admin 29 mayo, 2019
      • Luki 29 mayo, 2019
        • admin 29 mayo, 2019
  7. arley 10 mayo, 2019
  8. felix 10 mayo, 2019
  9. Isaac Rosario 10 mayo, 2019
  10. Felipe Morales 10 mayo, 2019
    • issux 10 mayo, 2019
  11. Ronny 10 mayo, 2019
  12. Andres 10 mayo, 2019
  13. Jumi 10 mayo, 2019
  14. Andrés 10 mayo, 2019
    • issux 10 mayo, 2019
    • luis 18 octubre, 2019
  15. Isaac Rosario Duran 10 mayo, 2019

Comentar