Pergunta : A melhor maneira de subtrair campos DateTime

Eu estou trabalhando em uma aplicação pequena do PHP que segure pedidos da trabalhar-ordem.  Quando um usuário cria uma trabalhar-ordem, eu estou armazenando a época do pedido em um campo datetime nomeado “RequestDateTime”.  Quando um admin toma o controle do caso, eu estou armazenando aquele em um campo do datatime nomeado “ClaimDateTime”.  Quando o admin fecha o caso, eu estou armazenando aquele em um campo datetime nomeado “ClosedDateTime”.  Eu gostaria de armazenar a diferença entre o valor de RequestDateTime e o valor de ClaimDateTime em um campo nomeou o “ResponseTime”.  Está aqui um exemplo: o
If o valor de RequestDateTime é “o 10:24 2010-07-22: 12”, e o valor de ClaimDateTime são “o 11:25 2010-07-22: 13”, eu gostaria de povoar o ResponseTime arquivado com o algo similar a este: “0 dias, 1 hora, 1 minuto, 1 segundo”.  O formato do ResponseTime arquivado é realmente parte de minha pergunta.  Eu não sei a melhor maneira de armazenar a diferença dos dois valores da data/hora.  Devo eu fazer campos para cada valor? Como “ResponseTimeDay”, “ResponseTimeHour” etc…, ou devo eu deixá-lo como um “ResponseTime nomeado arquivado” e o povôo similarmente ao exemplo acima?  Eventualmente eu quererei calcular uma estadia de resposta média, assim que eu estou procurando o que formato me ajuda a conseguir aquele sem a trabalheira.  Eu usarei esta mesma técnica para povoar o campo de “ClosedDateTime”.  Agora que você sabe um pouco sobre o sistema, estão aqui minhas perguntas: o

How eu subtraio campos DateTime? o
Do que eu preciso de armazenar os valores subtraídos em um campo na base de dados, ou devo eu simplesmente voltar a calcular cada vez que eu desejo ver o valor? o
If que eu estou analisando gramaticalmente através de 40 casos, como posso eu calcular uma estadia de resposta média?  

Thanks para a leitura. Deixar-me por favor saber se eu preciso de fornecer qualquer informação adicional.  

class= do

Resposta : A melhor maneira de subtrair campos DateTime

Olá!,

É um valor calculado, mim não o armazenaria, apenas volta a calcular como necessário. Você poderia retorná-lo como um campo de sua base de dados como

Selecionar mydate1, mydate2, TIMEDIFF (mydate1, mydate2) como o diff de mytable

isto retornará suas 2 datas e um timevalue chamado diff

http://dev.mysql.com/doc/refman/5.0/en/date-and-time-functions.html#function_timediff
Outras soluções  
 
programming4us programming4us