Foros del Web » Programando para Internet » PHP »

calcular los dias de una fecha anterior al dia de hoy

Estas en el tema de calcular los dias de una fecha anterior al dia de hoy en el foro de PHP en Foros del Web. Espero que alguien me pueda ayudar quiero calcular los el numero de dias desde una fecha determinada a el dia de hoy. estoy usando este ...
  #1 (permalink)  
Antiguo 04/06/2008, 15:06
 
Fecha de Ingreso: abril-2008
Ubicación: Monterrey
Mensajes: 24
Antigüedad: 16 años
Puntos: 0
Pregunta calcular los dias de una fecha anterior al dia de hoy

Espero que alguien me pueda ayudar quiero calcular los el numero de dias desde una fecha determinada a el dia de hoy. estoy usando este codigo

//fecha anterior
$ano1 = $anio_ant;
$mes1 = $mes_ant;
$dia1 = $dia_ant;

//fecha actual
$ano2 = $anio_act;
$mes2 =$mes_act;
$dia2 = $dia_act;

//calculo timestam de las dos fechas
$timestamp1 = mktime(0,0,0,$mes1,$dia1,$ano1);
$timestamp2 = mktime(4,12,0,$mes2,$dia2,$ano2);

//resto a una fecha la otra
$segundos_diferencia = $timestamp1 - $timestamp2;

//convierto segundos en días
$dias_diferencia = $segundos_diferencia / (60 * 60 * 24);

//obtengo el valor absoulto de los días (quito el posible signo negativo)
$dias_diferencia = abs($dias_diferencia);

//quito los decimales a los días de diferencia
$dias_diferencia = floor($dias_diferencia);

el problemas es que los calcula mal porque el formato de la fecha biene como(ejemplo $dia_ant=06 $mes_ant=04 igual para la fecha actual ) pero si pongo fijo $dia_ant=6 $mes_ant=4 sin el cero si funciona. como le puedo hace para esa falla.
  #2 (permalink)  
Antiguo 04/06/2008, 15:36
Avatar de pateketrueke
Modernizr
 
Fecha de Ingreso: abril-2008
Ubicación: Mexihco-Tenochtitlan
Mensajes: 26.399
Antigüedad: 16 años
Puntos: 2534
Respuesta: calcular los dias de una fecha anterior al dia de hoy

procura entonces.. convertilos en enteros

Código PHP:
//fecha anterior 
$ano1 = (int)$anio_ant;
$mes1 = (int)$mes_ant;
$dia1 = (int)$dia_ant;

//fecha actual
$ano2 = (int)$anio_act;
$mes2 =(int)$mes_act;
$dia2 = (int)$dia_act
porque con el cero a la izquierda, es como, mas... bien, una cadena "04"
asi... con (int) hacemos que se conviertan en enteros... suerte!
__________________
Y U NO RTFM? щ(ºдºщ)

No atiendo por MP nada que no sea personal.
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 08:34.