Questione : Migliore senso sottrarre i campi DateTime

Sto lavorando ad una piccola applicazione del PHP che tratterà le richieste di funzionare-ordine.  Quando un utente genera un funzionare-ordine, sto memorizzando il periodo della richiesta in un campo datetime chiamato “RequestDateTime„.  Quando un admin prende il controllo del caso, sto immagazzinando quello in un campo del datatime chiamato “ClaimDateTime„.  Quando il admin chiude il caso, sto immagazzinando quello in un campo datetime chiamato “ClosedDateTime„.  Vorrei immagazzinare la differenza fra il valore di RequestDateTime ed il valore di ClaimDateTime in un campo ha chiamato “il tempo di risposta„.  Qui è un esempio: il
If il valore di RequestDateTime è “10:24 2010-07-22: 12„ ed il valore di ClaimDateTime sono “11:25 2010-07-22: 13„, vorrei popolare il tempo di risposta archivato con qualche cosa di simile a questo: “0 giorni, 1 ora, 1 minuto, 1 secondo„.  La formattazione del tempo di risposta archivato fa parte realmente della mia domanda.  Non conosco il migliore senso immagazzinare la differenza dei due valori ora/della data.  Dovrei fare i campi per ogni valore? Come “ResponseTimeDay„, “ResponseTimeHour„ ecc…, o dovrei lasciarlo come un “tempo di risposta„ chiamato archivato e lo popolo similmente all'esempio di cui sopra?  Finalmente vorrò calcolare un tempo di reazione medio, in modo da sto cercando che cosa disposizione lo aiuta a realizzare quello senza la controversia.  Userò questa stessa tecnica per popolare il campo “di ClosedDateTime„.  Ora che conoscete un piccolo circa il sistema, qui sono le mie domande:

How sottraggo i campi DateTime?
Do che devo memorizzare i valori sottratti in un campo nella base di dati, o dovrei ricalcolare semplicemente ogni volta che desidero vedere il valore?
If che sto analizzando attraverso 40 casi, come posso calcolare un tempo di reazione medio?  

Thanks per lettura. Lasciarlo prego sapere se devo fornire qualunque Info supplementare.  

class= del

Risposta : Migliore senso sottrarre i campi DateTime

Ciao,

È un valore calcolato, io non lo memorizzerebbe, appena ricalcola come stato necessario. Potreste restituirli come campo dalla vostra base di dati As

Selezionare mydate1, mydate2, TIMEDIFF (mydate1, mydate2) come diff a partire da mytable

ciò restituirà le vostre 2 date e un timevalue denominato diff

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