Qual è la funzione PHP DateDiff?

April 6

PHP versione 5.3 include una classe DateTime per l'archiviazione, la manipolazione e l'esecuzione di calcoli con date e una classe DateInterval per immagazzinare l'intervallo tra due date. La classe DateTime include diversi metodi, come ad esempio il metodo DateTime :: diff, che restituisce la differenza tra due oggetti DateTime come un oggetto DateInterval. La funzione date_diff è un alias stile procedurale del metodo DateTime :: diff che può essere usato per calcolare la differenza tra due date.

DateTime Class

La classe DateTime di PHP è un costrutto che rappresenta una data e l'ora. Esso include diversi metodi che consentono di manipolare le date ed eseguire calcoli di data. La classe DateTime memorizza una data internamente come il numero di secondi dalla Unix Epoch, che è 1 gennaio 1970, alle 00:00:00 GMT. Creare un nuovo oggetto DateTime con "nuovo" e il costrutto DateTime o procedurale con la funzione date_create. Per esempio:

<? Php

$ Partito = new DateTime ( '1999-12-31');

$ Same_party = date_create ( "1999-12-31");

?>

DateTime :: diff

Il metodo DateTime :: diff permette di calcolare la differenza tra due oggetti DateTime. Ad esempio, per calcolare il numero di giorni che sono state vivo, scrivere una funzione per calcolare la differenza tra la data odierna e la data di nascita:

<? Php

funzionare daysAlive ($ data di nascita) {

$ Oggi = new DateTime ( "ora");

$ Compleanno = new DateTime ($ data di nascita);

$ DaysAlive = $ compleanno-> diff ($ oggi);

return $ daysAlive-> formato ( "% un giorno ');

}

?>

Funzione date_diff

La funzione date_diff è un alias procedurale stile del metodo DateTime :: diff. Utilizzare la funzione date_create per creare un oggetto DateTime e utilizzare la funzione date_diff per calcolare l'intervallo tra due date. Ad esempio, la funzione procedurale stile che calcola il numero di giorni sei stato in vita è:

<? Php

Funzione days_alive ($ birth_date) {

$ Oggi = date_create ( "ora");

$ Compleanno = date_create ($ birth_date);

$ Days_alive = date_diff ($ compleanno, $ di oggi);

tornare date_interval_format ($ days_alive, "% un giorno");

}

?>

DateInterval Class

Quando si utilizza il metodo DateTime :: diff o la funzione date_diff, il risultato è rappresentato come un oggetto della classe DateInterval. Questa classe memorizza l'intervallo tra due date come un determinato periodo di tempo in anni, mesi, giorni, ore e secondi. Il metodo DateInterval :: formato object-oriented o la funzione date_interval_format procedurale in stile consentono di visualizzare l'intervallo di date in uno o più periodi di tempo. Ad esempio, è possibile visualizzare un intervallo di date come un certo numero di giorni o di un certo numero di anni e giorni:

<? Php

$ First_date = date_create ( "2011-09-05");

$ Second_date = date_create ( "2020/06/01");

$ Diff = date_diff ($ second_date, $ first_date);

date_interval_format echo ($ diff, "% un giorno");

date_interval_format echo ($ diff, "% y anni e% d giorni");

?>