PDA

View Full Version : [PHP] Differenza tra 2 Date


race2
03-10-2003, 15:48
Come posso fare per ricavare la differenza tra 2 date ???

es.

MySQL : "2003-12-12" - "2003-12-10" = "2" che sono i giorni.

ACCESS: "12/12/2003 00.00.00" - "10/12/2003 00.00.00" = "2" che sono i giorni.

se e' possibile vorrei sapere sia come si fa con Mysql

che

come si fa con ACCESS.

VICIUS
03-10-2003, 17:49
fare una differenza tra date in formato stringa è piuttosto complicato in php e non so se esiste una funzione che possa fare al caso tuo. se pero le due date sono delle unix timestamp allora diventa tutto piu facile.

ti faccio un esempio:

usa UNIX_TIMESTAMP(...) per convertire la data nella query sql
$rs = mysql_query ('SELECT UNIX_TIMESTAMP(campo_data) AS data FROM
nome_tabella ...');
poi usi semplicemente l'operatore "-" per fare la differenza tra due date che hai letto dal database.
$differenza = $data_a - $data_b
dntro a differenza c'è pero la differenza in secondi. se vuoi proprio i giorni questa puo essere una soluzione.
$giorni = intval ($differenza / 86400);

ciao ;)

race2
06-10-2003, 15:15
Ti ringrazio molto ma quella funzione e' valida solo su MySQL su ACCESS non va........

race2
07-10-2003, 17:04
"SELECT DateDiff("d","DataTime_1", "DataTime_2") as Risultato FROM MyTable"

"DataTime_1" è un campo che contiene: "01/01/2003 12.12.12"
"DataTime_2" è un campo che contiene: "02/01/2003 12.12.12"

eseguo la query su ACCESS XP modalita SQL e mi da questo errore:

"Tipi di dati non corrispondenti nell'espressione criterio."

race2
08-10-2003, 16:02
PERFETTO !!!!!!!!!!!!!!!

SELECT DateDiff('s',DateTime_1,DateTime_2) AS Risultato FROM MyTable

d=giorni
n=minuti
h=ore
s=secondi

ma non esiste una funzione che fa un TimeStamp di tipo: aaaa/mm/gg oo:mm:ss ???
o solo: oo:mm:ss ???

o un parametro da mettere nella Stringa SQL in modo da trovare gia' formattata la differenza in una data TimeStamp ???

Grazie mille!!!