Ver Mensaje Individual
  #1 (permalink)  
Antiguo 22/09/2015, 13:37
Avatar de el_cesar
el_cesar
 
Fecha de Ingreso: mayo-2001
Ubicación: Cali
Mensajes: 2.423
Antigüedad: 23 años, 5 meses
Puntos: 20
Calcular dias entre fechas

Estoy creando un script que me calcule los dias de diferencia que hay entre dos fechas, lo necesito para un sistema de alertas que estoy creando, lo que necesito es: tengo una fecha inicial, a esa fecha le sumo los dias de vencimiento para el caso, luego entonces le resto (a esa suma) la fecha de hoy para saber cuantos dias han transcurrido y luego halar la diferencia entre el tiempo de vencimiento y la fecha actual, para enviar una alerta faltando un dia para vencerse el caso.

lo que he hecho hasta ahora es:
Código PHP:
Ver original
  1. <?php
  2.  
  3.     include('conexion.php');
  4.     //Establecemos como zona horaria Bogotá, para que no haya inconvenientes con ningun servidor al que se migre la app
  5.     date_default_timezone_set('America/Bogota');
  6.    
  7.  
  8.     //Defino la fecha de hoy
  9.  
  10.     $fecha_hoy = date("Y-m-d h:i:s");
  11.  
  12.     echo $fecha_hoy."<br>";
  13.  
  14.     //Traemos las fechas de los casos almacenados
  15.  
  16.     $consulta_fechas = "SELECT * FROM caso";
  17.     $rcf = mysql_query($consulta_fechas);
  18.     echo "<table border='1'>";
  19.     while ($row = mysql_fetch_assoc($rcf)) {
  20.         $fecha_caso = $row['FechaCaso'];
  21.         $dias = $row['dias'];
  22.  
  23.         echo "<tr><td>".$fecha_caso."</td>";
  24.         echo "<td>".$dias."</td>";
  25.         echo "<td>".strtotime($fecha_hoy)."</td>";
  26.         echo "<td>".strtotime($fecha_caso)."</td>";
  27.  
  28.         //Calculamos la diferencia entre la fecha de hoy y la fecha de creación del caso
  29.         $operacion = strtotime($fecha_hoy) - strtotime($fecha_caso);
  30.         echo "<td>".$operacion."</td>";
  31.         //Convertimos esa diferencia en segundos a un valor entero
  32.         $diferencia_dias = round($operacion/(60*60*24));
  33.         echo "<td>".$diferencia_dias."</td>";
  34.  
  35.         //Calculamos la diferencia de los dias entre vencimiento del caso y los dias transcurridos
  36.  
  37.         $vence = $dias - $diferencia_dias;
  38.         echo "<td>".$vence."</td></tr>";
  39.  
  40.     }
  41.     echo "</table>";
  42. ?>

Lo que pasa es que los resultados de las fechas no me cuadran, es decir los resultados que me arroja son superiores a 500 dias de diferencia, no se que pasa, se que es más problema de formulación de algoritmo, alguien de ma una mano o una idea de como hacerlo mejor.

Gracias
__________________
Say no more.......