PDA

View Full Version : [PHP] Date


max246
04-07-2006, 09:41
Ok ora sto impazzendo... non so piu cosa fare!
Devo trovare i mesi di differenza tra una data e l'altra, eccovi il codice:

$n_mesi = date("m",(mktime(0,0,0,1,1,2007) - mktime(0,0,0,1,1,2006)));

supponevo di trovare la diff in mktime poi dopo di convertirla con date per sapere quanti mesi mancano. Mi sono sbagliato! Non riesco a farlo funzionare.

Aiuto :(

andbin
04-07-2006, 10:36
Ok ora sto impazzendo... non so piu cosa fare!
Devo trovare i mesi di differenza tra una data e l'altra, eccovi il codice:

$n_mesi = date("m",(mktime(0,0,0,1,1,2007) - mktime(0,0,0,1,1,2006)));

supponevo di trovare la diff in mktime poi dopo di convertirla con date per sapere quanti mesi mancano. Mi sono sbagliato! Non riesco a farlo funzionare.

Aiuto :(A parte il fatto che il codice che hai scritto non va bene: la differenza tra 2 valori restituiti da mktime è il numero di secondi di differenza. La date si aspetta invece il tempo in secondi trascorso dal 01/01/1970 0:00. Quindi non so cosa possa venirti fuori! ;)

Per ottenere la differenza in mesi tra due date (definite solo come mese/anno), la formula (generica) è davvero semplice:
diff_mesi = (y1 - y2 - 1) * 12 + (12 - m2 + m1)

max246
04-07-2006, 10:56
A parte il fatto che il codice che hai scritto non va bene: la differenza tra 2 valori restituiti da mktime è il numero di secondi di differenza. La date si aspetta invece il tempo in secondi trascorso dal 01/01/1970 0:00. Quindi non so cosa possa venirti fuori! ;)

Per ottenere la differenza in mesi tra due date (definite solo come mese/anno), la formula (generica) è davvero semplice:
diff_mesi = (y1 - y2 - 1) * 12 + (12 - m2 + m1)


Grazie mille, mi sei stato moltoooooooo utile :)