Ver Mensaje Individual
  #13 (permalink)  
Antiguo 11/03/2010, 17:55
Avatar de Tokkara
Tokkara
 
Fecha de Ingreso: junio-2008
Mensajes: 131
Antigüedad: 15 años, 11 meses
Puntos: 5
Respuesta: Restar 2 fechas (pero sin la hora)

Pero tienes el timestampo de las fechas o no.

Si tienes el timestamp solo tienes que restar ambos y dividirlo por 24 horas.

Código PHP:
Ver original
  1. function dias_diferencia($fecha1, $fecha2)
  2. {
  3.  $res = $fecha1-$fecha2;
  4.  $segs_dia = 24*3600;
  5.  $dias = (int) $res/$seg_dias; //Extraemos los diás que hay de diferencia
  6.  $dias += $res MOD $seg_dias != 0 ? 1 : 0; //Si tiene resto es que son horas distintas. Entonces le añadimos+1
  7. }
El operador en PHP para extraer el resto es %. Pero este caracter se visualiza mal dentro de las etiquetas HIGHLIGHT. Así que pongo MOD.


Ahora si las tienes en el formato dd/mm/aaaa hh:mm:ss. Lo único que hay que hacer es jugar con la cadena. Y retirar la hora de la fecha.


Código PHP:
Ver original
  1. function transformarFechas($fecha1, $fecha2)
  2. {
  3.    $fecha1 = substr($fecha1, 0, strpos($fecha, ' ')); //Quitamos la hora a la fecha
  4.    $fecha2 = substr($fecha2, 0, strpos($fecha, ' ')); //Quitamos la hora a la fecha 2
  5.  
  6.    //y usamos la función anterior
  7.   return dias_diferencia(strtotime($fecha1), strtotime($fecha2));
  8. }
__________________
Revolucionario controlador de plantillas para php
www.simphple.com

Última edición por Tokkara; 11/03/2010 a las 18:12