Cuestión : La mejor manera de restar campos DateTime

Estoy trabajando en un pequeño uso del PHP que maneje peticiones de la trabajar-orden.  Cuando un usuario crea una trabajar-orden, estoy almacenando la época de la petición en un campo datetime nombrado “RequestDateTime”.  Cuando un admin toma el control del caso, estoy almacenando eso en un campo del datatime nombrado “ClaimDateTime”.  Cuando el admin cierra el caso, estoy almacenando eso en un campo datetime nombrado “ClosedDateTime”.  Quisiera almacenar la diferencia entre el valor de RequestDateTime y el valor de ClaimDateTime en un campo nombró “tiempo de réplica”.  Aquí está un ejemplo: el
If el valor de RequestDateTime es “el 10:24 2010-07-22: 12”, y el valor de ClaimDateTime es “el 11:25 2010-07-22: 13”, quisiera poblar el tiempo de réplica archivado con algo similar a esto: “0 días, 1 hora, 1 minuto, 1 segundo”.  El formato del tiempo de réplica archivado es realmente parte de mi pregunta.  No sé la mejor manera de almacenar la diferencia de los dos valores de la fecha/de hora.  ¿Debo hacer los campos para cada valor? ¿Como “ResponseTimeDay”, “ResponseTimeHour” etc…, o debo dejarlo como un “tiempo de réplica nombrado archivado” y lo pueblo semejantemente al ejemplo antedicho?  Querré eventual calcular un tiempo de reacción media, así que estoy buscando cualquier formato me ayuda a alcanzar eso sin molestia.  Utilizaré esta misma técnica para poblar el campo de “ClosedDateTime”.  Ahora que usted sabe un poco sobre el sistema, aquí están mis preguntas: ¿el

How resto campos DateTime? ¿el
Do que necesito almacenar los valores restados en un campo en la base de datos, o debo recalcular simplemente cada vez que deseo ver el valor? ¿el
If que estoy analizando a través de 40 casos, cómo puedo calcular un tiempo de reacción media?  

Thanks para la lectura. Dejarme por favor saber si necesito proporcionar cualquier Info adicional.  

class= del

Respuesta : La mejor manera de restar campos DateTime

Hola,

Es un valor calculado, yo no lo almacenaría, apenas recalcula según lo necesitado. Usted podría volverlo como campo de su base de datos como

Seleccionar mydate1, mydate2, TIMEDIFF (mydate1, mydate2) como diff de mytable

esto volverá sus 2 fechas y un timevalue llamado diff

http://dev.mysql.com/doc/refman/5.0/en/date-and-time-functions.html#function_timediff
Otras soluciones  
 
programming4us programming4us