Foros del Web » Programando para Internet » PHP »

Problema con la conversión de fecha tipo dias-horas-minutos-segundos

Estas en el tema de Problema con la conversión de fecha tipo dias-horas-minutos-segundos en el foro de PHP en Foros del Web. Hola buen dia al foro. Tengo un pequeño problema que yo creia que estaba solucionado, ya que habia buscado información para su solución , sin ...
  #1 (permalink)  
Antiguo 16/01/2008, 12:38
 
Fecha de Ingreso: enero-2008
Ubicación: Cuernavaca,Morelos
Mensajes: 31
Antigüedad: 16 años, 3 meses
Puntos: 0
Problema con la conversión de fecha tipo dias-horas-minutos-segundos

Hola buen dia al foro.

Tengo un pequeño problema que yo creia que estaba solucionado, ya que habia buscado información para su solución , sin embargo cuando la cantidad de tiempo va en aumento no me arroja correctamente los datos.

Dejen y les explico, al no encontrar una función que me arrojara la dieferencia de tiempos es decir la duración de atención de cierto servicio en 00 dias / 00 hras / 00 min / 00 seg cree el código que abajo se muestra donde convierto los segundos arrojados por el query del promedio de la diferencia entre dos fechas tipo datetime, la cual dependiendo la cantidad la convierto a su correspondiente en el formato que antes mencione.

//Query para conocer el tiempo promedio de respuesta.


$qtpromresp=mysql_query("SELECT fechaA-fecha as prom_resp from reportes inner join bdmod_reporte on reportes.no_reporte = bdmod_reporte.no_reporte where id_tecnico='$id_tecnico' and fechaT !='0000-00-00 00:00:00' and fecha BETWEEN '$fech' and '$fechf'");
$data_tpromresp=mysql_fetch_object($qtpromresp);
$time_prom_resp =$data_tpromresp->prom_resp;


$time_segundos_absolut=0;
$time_minutos_absolut=0;
$time_hora_absolut=0;
$time_dias_absolut=0;

if($time_prom_resp <=59){
$time_segundos_absolut=round($time_prom_resp );
}else{
if($time_prom_resp >=60 and $time_prom_resp <=3599 ){
$time_minutos=$time_prom_resp/60;
$time_minutos_absolut=floor($time_minutos);
$time_minutos_decimal=$time_minutos-$time_minutos_absolut;
$time_segundos=$time_minutos_decimal*60;
$time_segundos_absolut=round($time_segundos);

}else{
if($time_prom_resp >=3600 and $time_prom_resp<=86399)
{
$time_hora=$time_prom_resp/3600;
$time_hora_absolut=floor($time_hora);
$time_hora_decimal=$time_hora-$time_hora_absolut;
$time_minutos=($time_hora_decimal*3600)/60;
$time_minutos_absolut=floor($time_minutos);
$time_minutos_decimal=$time_minutos-$time_minutos_absolut;
$time_segundos=$time_minutos_decimal*60;
$time_segundos_absolut=round($time_segundos);

}else{
if($time_prom_resp>=86400)
{
$time_dias=$time_prom_resp/86400;
$time_dias_absolut=floor($time_dias);
$time_dias_decimal=$time_dias-$time_dias_absolut;
$time_hora=($time_dias_decimal*86400)/3600;
$time_hora_absolut=floor($time_hora);
$time_hora_decimal=$time_hora-$time_hora_absolut;
$time_minutos=($time_hora_decimal*3600)/60;
$time_minutos_absolut=floor($time_minutos);
$time_minutos_decimal=$time_minutos-$time_minutos_absolut;
$time_segundos=$time_minutos_decimal*60;
$time_segundos_absolut=round($time_segundos);

}
}
}
}


$tiempo_promedio_respuesta="$time_dias_absolut dias / $time_hora_absolut hrs / $time_minutos_absolut min / $time_segundos_absolut seg ";

Utilizando esta información no me arroja correctamente en el formato no se por que.

(fecha - fechaA)=$time_prom_resp
2008-01-14 16:53:59 - 2008-01-16 10:17:07 = 1936368.000000

Utilizando el código anterior me arroja 22 dias /9 hrs / 52 min / 48 seg cuando deberia arrojar 2 dias /..... alguien me puede orientar.

Gracias de antemano
  #2 (permalink)  
Antiguo 16/01/2008, 13:24
 
Fecha de Ingreso: enero-2008
Ubicación: Cuernavaca,Morelos
Mensajes: 31
Antigüedad: 16 años, 3 meses
Puntos: 0
Re: Problema con la conversión de fecha tipo dias-horas-minutos-segundos

He hecho mas pruebas y pasando de las horas me he dado cuenta es cuando no hay concordancia en los resultados.
  #3 (permalink)  
Antiguo 16/01/2008, 13:27
 
Fecha de Ingreso: enero-2008
Ubicación: Cuernavaca,Morelos
Mensajes: 31
Antigüedad: 16 años, 3 meses
Puntos: 0
Re: Problema con la conversión de fecha tipo dias-horas-minutos-segundos

La pregunta seria mas sencilla como restar dos fechas tipo datetime en un query.
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 04:47.