Foros del Web » Programando para Internet » PHP »

[SOLUCIONADO] crear variables con las fechas intermedias

Estas en el tema de crear variables con las fechas intermedias en el foro de PHP en Foros del Web. Hola foreros.. Tengo dos variables $ChI y $ChO , las dos son fechas con formato ('Y-m-d'), de entrada y de salida.. Como puedo hacer para ...
  #1 (permalink)  
Antiguo 27/03/2017, 11:59
Avatar de insyse  
Fecha de Ingreso: abril-2005
Ubicación: Colombia
Mensajes: 206
Antigüedad: 19 años, 7 meses
Puntos: 5
crear variables con las fechas intermedias

Hola foreros..

Tengo dos variables $ChI y $ChO, las dos son fechas con formato ('Y-m-d'), de entrada y de salida..

Como puedo hacer para generar un array con todas las fechas intermedias, es decir...

Si $ChI = 2017-03-21 y $ChO = 2017-03-25
Como creo un array que me muestre:

2017-03-21, 2017-03-22, 2017-03-23, 2017-03-24, 2017-03-25

Cada fecha como un valor del array?
__________________
.................................................. ...........................
No todos nacemos aprendidos !
  #2 (permalink)  
Antiguo 27/03/2017, 12:21
alvaro_trewhela
Invitado
 
Mensajes: n/a
Puntos:
Respuesta: crear variables con las fechas intermedias

Encontré esto en google:

https://blog.jodacame.com/calcular-d...s-con-php.html

ya con eso tienes todo...
  #3 (permalink)  
Antiguo 27/03/2017, 12:39
Avatar de insyse  
Fecha de Ingreso: abril-2005
Ubicación: Colombia
Mensajes: 206
Antigüedad: 19 años, 7 meses
Puntos: 5
Respuesta: crear variables con las fechas intermedias

Ok, con ese código logre hacer que se impriman las fechas que hay entre la fecha de inicio y la fecha final, pero como hago para que cada fecha me quede en una variable???


Código PHP:
//Calcula el Numero de Dias
$dias    = (strtotime($ChI)-strtotime($ChO))/86400;
$dias     abs($dias); $dias floor($dias);        
echo 
$dias .' dias <br>';
    
$fecha date_create($ChI);

$i=1;
while (
$i <= $dias) {
    
$i++;  
    
    
date_add($fechadate_interval_create_from_date_string('1 days'));
    echo 
date_format($fecha'Y-m-d') .'<br>';

__________________
.................................................. ...........................
No todos nacemos aprendidos !
  #4 (permalink)  
Antiguo 27/03/2017, 12:58
 
Fecha de Ingreso: octubre-2010
Ubicación: España
Mensajes: 1.007
Antigüedad: 14 años, 1 mes
Puntos: 123
Respuesta: crear variables con las fechas intermedias

Código PHP:
$date1 = new DateTime("2017-03-21");
$date2 = new DateTime("2017-03-25");

while (
$date1 $date2) {
    
$arrayFechas[] = $date1->format('Y-m-d');
    
$date1->modify('+1 day');
}

print_r$arrayFechas ); 
__________________
Unset($vida['malRollo']);
  #5 (permalink)  
Antiguo 27/03/2017, 13:09
Avatar de insyse  
Fecha de Ingreso: abril-2005
Ubicación: Colombia
Mensajes: 206
Antigüedad: 19 años, 7 meses
Puntos: 5
Respuesta: crear variables con las fechas intermedias

Muchas gracias xerifandtomas

Era tal cual como lo necesitaba..
__________________
.................................................. ...........................
No todos nacemos aprendidos !
  #6 (permalink)  
Antiguo 27/03/2017, 13:09
 
Fecha de Ingreso: octubre-2010
Ubicación: España
Mensajes: 1.007
Antigüedad: 14 años, 1 mes
Puntos: 123
Respuesta: crear variables con las fechas intermedias

Código PHP:
$date1 = new DateTime("2017-03-21");
$date2 = new DateTime("2017-03-25");

while (
$date1 $date2) {
    
$arrayFechas[] = $date1->format('Y-m-d');
    
$date1->modify('+1 day');
}
//edito esta parte, se me olvido la fecha final 
$arrayFechas[] = $date2->format('Y-m-d');

print_r$arrayFechas ); 
No hay de que me alegro que te ayudara. Con un +1 si te sirvió es suficiente y marca como solucionado.
__________________
Unset($vida['malRollo']);
  #7 (permalink)  
Antiguo 28/03/2017, 14:47
 
Fecha de Ingreso: octubre-2010
Ubicación: España
Mensajes: 1.007
Antigüedad: 14 años, 1 mes
Puntos: 123
Respuesta: crear variables con las fechas intermedias

Mirando otras cosas hoy por php.net he visto que hay una forma de realizar esta tarea, la dejo por aqui por si a alguien le sirve.

Código PHP:
$inicio = new DateTime'2017-03-21' );
$fin = new DateTime'2017-03-25' );
$fin $fin->modify'+1 day' );
$intervalo = new DateInterval('P1D');
$rangoFechas = new DatePeriod($inicio$intervalo $fin);

foreach(
$rangoFechas as $date){
    echo 
$date->format("Y-m-d") . "<br>";

__________________
Unset($vida['malRollo']);

Etiquetas: variable, variables
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 21:16.