Pregunta:
Fecha: 01-03-2018 17:53:45
(En Español)
rango de fechas[Resuelta]
Hola a todos, estoy tratando de saber cuando ocurre el cambio de fecha en un rango de fechas, mi rango lo tengo así:
<?php
$fechaInicio=strtotime("01-02-2018");
$fechaFin=strtotime("30-04-2018");
for($i=$fechaInicio; $i<=$fechaFin; $i+=86400){
echo date("d-m-Y", $i)."<br>";
}
?>
Muchas gracias por cualquier consejo o ayuda.
Votos: 0 -
Respuestas: 2 -
Vistas: 12
Compartir en: Google
Facebook
Twitter
LinkedIn
Link
Respuestas:
-
Fecha: 02-03-2018 06:58:21 Si lo que deseas es saber cuando el rango cambia de mes, podría ser algo así:
//Meses del año $meses = array('01'=>'Enero','02'=>'Febrero','03'=>'Marzo','04'=>'Abril','05'=>'Mayo','06'=>'Junio','07'=>'Julio','08'=>'Agosto','09'=>'Septiembre','10'=>'Octubre','11'=>'Noviembre','12'=>'Diciembre'); //Rango de Fechas $fechaInicio=strtotime("01-02-2018"); $fechaFin=strtotime("30-04-2018"); //Variable de control $tmp = "00"; for($i=$fechaInicio; $i<=$fechaFin; $i+=86400){ //Si control es menor que el mes actual Muestro el nombre del mes if( $tmp < date("m",$i) ){ echo "<li>-> Mes: ".$meses[date("m",$i)].": </li>"; $tmp = date("m",$i);//Actualizo control con el mes actual }else{ //Si control no es menor al mes actual, muestro la fecha echo "<li>". date("d-m-Y", $i)."</li>"; $tmp = date("m",$i);//Actualizo control } echo "<li>".date("d-m-Y", $i)."</li>"; }
Eso retorna algo más o menos:
->Mes: Febrero:
01-02-2018
02-02-2018
03-02-2018
...
->Mes: Marzo:
01-03-2018
02-03-2018
...
para que en la variable de control se detecte automaticamente el mes anterior al de la fecha de inicio del rango sería algo asi:
$tmp = sprintf("%',02d\n",(date("m",$fechaInicio))-01);
De esa manera al solo cambiar la fecha de inicio del rango, el sistema sabria desde donde controla los calculos. Tambien podrias omitir el uso del array de meses al utilizar F en el formateo de la fecha:
date("F",$i)
claro siempre controlando los locales para la traducción, ya que originalmente lo retorna en inglés. Votos: 1 - Link respuesta -
Fecha: 02-03-2018 20:30:10 Muchísimas gracias, Carlos. Justo lo que quería. Votos: 0 - Link respuesta
Para participar activamente de la comunidad primero debes autenticarte, ingresa al sistema.Iniciar Sesión
