Calcola la differenza di data in PHP

Calcola la differenza di data in PHP
La differenza tra le due date può essere calcolata in più modi usando uno script PHP. Il valore della data può essere generato da l'appuntamento() funzione e Appuntamento Classe di PHP. La differenza di data può essere calcolata utilizzando la funzione integrata di PHP o senza alcuna funzione integrata. IL date_diff () La funzione viene utilizzata per calcolare la differenza tra due date quando i valori della data dello stesso formato vengono creati utilizzando il date_create () funzione. IL Diff () il metodo viene utilizzato per calcolare la differenza tra due date, che vengono create utilizzando il datetime classe. In questo tutorial sono forniti diversi modi per calcolare la differenza di data in PHP.

Calcola la differenza di data in base ai valori del timestamp

La funzione strtotime () restituisce il valore del timestamp della data fornita nel primo argomento di questa funzione. Il modo di calcolare la differenza tra le date è stato mostrato in questa parte del tutorial:

Esempio 1: stampare la differenza tra due date in base al timestamp
Crea un file PHP con il seguente script per calcolare la differenza tra la data corrente e una data particolare. La funzione strtotime () è stata utilizzata nello script per generare i valori del timestamp di entrambe le date e il valore di sottrazione di questi valori di timestamp è stato convertito in giorni.

// Imposta la data corrente
$ oggi = date ('y-m-d');
// Assegna una data in formato 'y-m-d'
$ FUTURESTATE = "2022-09-30";
// calcola la differenza di data in base ai valori del timestamp
$ Difference = StrTotime ($ FUTUREATE) - Strtotime ($ oggi);
// calcola la differenza in giorni
$ Days = ABS ($ differenza/(60 * 60)/24);
// Stampa la differenza di data in giorni
eco "

La differenza tra ".$ oggi." E ".$ FUTUREATE." È ".$ giorni."Giorni.

";
?>

Verrà visualizzato il seguente output dopo aver eseguito lo script precedente:

Calcola la differenza di data utilizzando la funzione date_diff ()

La date_diff () è una funzione integrata di PHP per calcolare la differenza tra due date. La sintassi di questa funzione è fornita di seguito:

Sintassi

date_diff ($ objdate1, $ objdate2);

Questa funzione prende due oggetti di data come valori di argomento obbligatorio e restituisce la differenza tra questi oggetti di data sul successo o false al fallimento. L'uso di questa funzione è stato mostrato di seguito.

Esempio 2: stampare la differenza tra due date utilizzando la funzione Date_diff ()
Crea un file PHP con il seguente script per calcolare la differenza tra la data corrente e una data particolare che verrà creata utilizzando la funzione Date_Create (). La funzione Date_diff () è stata utilizzata nello script per calcolare la differenza tra due oggetti da data. Successivamente, il metodo Format () è stato utilizzato per stampare la differenza con la formattazione. Il valore positivo verrà restituito dalla funzione date_diff () quando la prima data è maggiore della seconda data. Altrimenti, il valore negativo verrà restituito.

// Crea l'oggetto della prima data che assegnerà la data corrente
$ dateVal1 = date_create ();
// crea l'oggetto della seconda data che assegnerà una data particolare
$ dateVal2 = date_create ('29 set 2022 ');
// calcola l'intervallo dalla prima data al secondo appuntamento
$ ival = date_diff ($ dateVal2, $ dateVal1);
// Stampa l'output
echo "La differenza di ".$ DateVal1-> Format ('D-M-Y')."-".$ DateVal2-> Format ('D-M-Y') . " È ". $ ival-> formato ('%r%a giorni')."
";
// Calcola l'intervallo dal secondo data alla prima data
$ ival = date_diff ($ dateVal1, $ dateVal2);
// Stampa l'output
echo "La differenza di ".$ DateVal2-> Format ('D-M-Y')."-".$ DateVal1-> Format ('D-M-Y') . " È ". $ ival-> formato ('%r%a giorni')."
";
?>

Verrà visualizzato il seguente output dopo aver eseguito lo script precedente:

Calcola la differenza di data usando la classe DateTime

Il metodo diff () della classe DateTime è un altro modo per calcolare la differenza tra due oggetti da data. L'uso di questo metodo è stato mostrato qui.

Esempio 3: stampare la differenza tra due date utilizzando il metodo Format () della classe DateTime
Crea un file PHP con il seguente script che calcolerà la differenza tra due date che verranno create utilizzando la classe DateTime. Il metodo diff () di questa classe è stato utilizzato nello script per calcolare la differenza tra due oggetti da data. Il metodo Format () di questa classe è stato utilizzato per stampare la differenza tra le date con la formattazione.

// Crea l'oggetto del primo appuntamento
$ dateVal1 = new DateTime ('30 dic 2022 ');
// Crea l'oggetto del secondo appuntamento
$ dateVal2 = new DateTime ('2022-10-30');
// calcola la differenza
$ ival = $ dateVal2-> diff ($ dateVal1);
// Stampa il valore della differenza
eco "

La differenza di data è ". $ ival-> formato ('%y anni.')."",.$ ival-> formato ('%m mesi').", E ".$ ival-> formato ('%d giorni.'). "

";
?>

Verrà visualizzato il seguente output dopo aver eseguito lo script precedente:

Esempio 4: stampare la differenza tra due date senza utilizzare il metodo formato () della classe DateTime
Crea un file PHP con il seguente script che calcolerà la differenza tra due date che verranno create utilizzando la classe DateTime. Il metodo diff () di questa classe è stato utilizzato nello script per calcolare la differenza tra due oggetti da data. I valori formattati dell'anno, del mese e del giorno verranno stampati utilizzando le proprietà dell'oggetto intervallo denominato $ ival.

// Crea l'oggetto del primo appuntamento
$ dateVal1 = new DateTime ('5 nov 2022');
// Crea l'oggetto del secondo appuntamento
$ dateVal2 = new DateTime ('2022-10-31');
// calcola la differenza
$ ival = $ dateVal2-> diff ($ dateVal1);
// Stampa il valore della differenza
eco "

La differenza di data è ". $ ival-> y.' anni, '.$ ival-> m.' mesi, '.$ ival-> d.'Days'. "

";
?>

Verrà visualizzato il seguente output dopo aver eseguito lo script precedente:

Esempio 5: calcola l'età in base alla data di nascita e alla data attuale
Crea un file PHP con il seguente script per calcolare l'età di una persona in base alla data e alla data di nascita corrente utilizzando la classe DateTime e il metodo Diff ():

// Crea l'oggetto del primo appuntamento
$ BIRKDATE = new DateTime ('16 dic 2006 ');
// Crea l'oggetto del secondo appuntamento
$ currentDate = new DateTime ();
// calcola la differenza
$ ival = $ Birthdate-> Diff ($ CurrentDate);
// Stampa la data di nascita
eco "

La tua data di nascita è ". $ Birthdate-> Formato ('d m, y').".

";
// Stampa il valore della differenza
eco "

La tua età è adesso ". $ ival-> y.' anni, '.$ ival-> m.' mesi, '.$ ival-> d.Giorni.'. "

";
?>

Verrà visualizzato il seguente output dopo aver eseguito lo script precedente:

Conclusione

La differenza tra le due date è richiesta per risolvere diversi problemi di programmazione. In questo tutorial sono stati mostrati diversi modi per calcolare la differenza tra due date. Spero che questo tutorial aiuti gli utenti PHP a trovare la differenza tra due date correttamente dopo aver letto questo tutorial.