Foros del Web » Programando para Internet » PHP » CodeIgniter »

Tiempo entre dos fechas

Estas en el tema de Tiempo entre dos fechas en el foro de CodeIgniter en Foros del Web. Quiero saber cual es el tiempo entre 2 fechas. teniendo en cuenta que trabajo de 8am a 6pm, quiero saber el tiempo que hay entre ...
  #1 (permalink)  
Antiguo 14/08/2013, 12:57
 
Fecha de Ingreso: enero-2012
Mensajes: 8
Antigüedad: 12 años, 3 meses
Puntos: 0
Pregunta Tiempo entre dos fechas

Quiero saber cual es el tiempo entre 2 fechas. teniendo en cuenta que trabajo de 8am a 6pm, quiero saber el tiempo que hay entre 2 fechas dentro de este rango. Por ejemplo:


2013-08-13 14:00:00
2013-08-14 13:30:00

el tiempo de estas 2 fechas teniendo en cuenta el horario laboral es:

9horas 30minutos.

alguien puede ayudarme, si ya hicieron algo igual o tienen alguna idea?

Muchas gracias
  #2 (permalink)  
Antiguo 06/11/2013, 08:23
 
Fecha de Ingreso: julio-2010
Mensajes: 28
Antigüedad: 13 años, 9 meses
Puntos: 2
Respuesta: Tiempo entre dos fechas

Creo que he llegado muy tarde, pero de cualquier forma para quien busque una solución a lo que plantean y no la haya encontrado puede usar esta función en un helper y es válido para PHP sin Codeigniter de igual forma:

Código PHP:
Ver original
  1. /**
  2.  * Regresa la diferencia de tiempo entre dos fechas en días, horas, minutos y segundos
  3.  * @param $date1 La fecha
  4.  * @param $date2 La fecha
  5.  * @return Array [0] => Segundos [1] => Minutos [2] => Horas [3] => Días
  6.  */
  7. function diff_date($date1, $date2){
  8.        if (!is_integer($date1)) $date1 = strtotime($date1);
  9.        if (!is_integer($date2)) $date2 = strtotime($date2);  
  10.        $arrayDatetime = Array();
  11.        $arrayDatetime[0] = abs($date1 - $date2); // seconds
  12.        $arrayDatetime[1] = floor($arrayDatetime[0] / 60); // minutes
  13.        $arrayDatetime[2] = floor($arrayDatetime[1] / 60); // hours
  14.        $arrayDatetime[3] = floor($arrayDatetime[2] / 24); // days
  15.        
  16.        $arrayDatetime[0] -= $arrayDatetime[1] * 60;
  17.        $arrayDatetime[1] -= $arrayDatetime[2] * 60;
  18.        $arrayDatetime[2] -= $arrayDatetime[3] * 24;
  19.        return $arrayDatetime;
  20. }

Etiquetas: php, tiempo
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 02:54.