Confronta le date in PHP

Confronta le date in PHP

I valori della data devono essere confrontati in PHP per scopi diversi, come il calcolo della scadenza di un'attività e la pianificazione di un evento. È più facile confrontare due date di un formato simile. Se è necessario confrontare la data di diversi formati, i valori della data dovranno convertirsi nello stesso formato utilizzando altre funzioni PHP integrate prima del confronto. In questo tutorial sono stati mostrati diversi modi per confrontare i valori delle date in PHP.

Confronta date di formato simile

I valori della data sono archiviati come stringhe in PHP nel "YYYY-MM-DD" formato. Se questo valore di data non è assegnato in questo formato, verrà generato l'output sbagliato. Il modo di confrontare due date di un formato simile è stato mostrato in questo tutorial.

Esempio 1: confronta i valori della data utilizzando un'istruzione condizionale

Crea un file PHP con il seguente script che leggerà due valori della data nel formato PHP dai parametri URL. Quindi stampare il messaggio dopo aver confrontato i valori della data utilizzando un'istruzione condizionale e un operatore di confronto.

// Controlla se i valori della data vengono passati nel parametro URL o meno
if (ISSET ($ _ GET ['D1']) e ISSET ($ _ GET ['D2']))

// Imposta il valore della prima data come stringa
$ dateVal1 = $ _get ['d1'];
// Imposta il valore della seconda data come stringa
$ dateVal2 = $ _get ['d2'];
// Verifica se i valori non sono e meno
if ($ dateVal1 != "" e $ dateVal2 != "")

// Confronta le date usando l'operatore di confronto
if ($ dateVal1 < $dateVal2)
echo "$ dateval1 è inferiore a $ dateval2.";
altro
echo "$ dateval1 è maggiore di $ dateval2.";

altro
// Stampa Messaggio di errore
eco "I valori di una o due date sono vuoti.";

altro
// Stampa Messaggio di errore
Echo "mancano uno o più valori di date.";
?>

Verrà visualizzato il seguente output dopo l'esecuzione dello script precedente se non viene passato un valore della data come parametro URL:

Dopo aver eseguito lo script precedente, verrà visualizzato il seguente output se "2022-09-21 e 2022-01-22" verranno passati nel parametro URL:

Dopo aver eseguito lo script precedente, verrà visualizzato il seguente output se il 2022-09-21 e il 2022-11-22 ”vengono passati nel parametro URL.

Esempio 2: confronta i valori della data utilizzando l'operatore ternario

Crea un file PHP con il seguente script che leggerà due valori della data nel formato PHP dai parametri URL. Quindi stampare il messaggio dopo aver confrontato i valori della data utilizzando l'operatore ternario.

// Controlla se i valori della data vengono passati nel parametro URL o meno
if (ISSET ($ _ GET ['D1']) e ISSET ($ _ GET ['D2']))

// Imposta il valore della prima data come stringa
$ dateVal1 = $ _get ['d1'];
// Imposta il valore della seconda data come stringa
$ dateVal2 = $ _get ['d2'];
// Controllare che i valori non siano vuoti o no
if ($ dateVal1 != "" e $ dateVal2 != "")
// Confronta i valori della data
Echo $ dateVal1 < $dateVal2 ? "$dateVal1 is less than $dateVal2." : "$dateVal1 is greater than $dateVal2.";
altro
// Stampa Messaggio di errore
eco "I valori di una o due date sono vuoti.";

altro
// Stampa Messaggio di errore
Echo "mancano uno o più valori di date.";
?>

Dopo aver eseguito lo script precedente, verrà visualizzato il seguente output se "2022-08-25 e 2022-11-22" verranno passati nel parametro URL:

Confronta gli oggetti della data di formati simili o diversi

Il modo di confrontare gli oggetti della data degli stessi o diversi formati è stato mostrato in questa parte del tutorial.

Esempio 3: confronta gli oggetti della data di formato simile

Crea un file PHP con il seguente script per creare due oggetti data di formati simili usando il Appuntamento classe. Successivamente, l'affermazione condizionale è stata utilizzata per confrontare le date.

// Assegna l'oggetto del primo appuntamento
$ dateVal1 = new DateTime ("21 maggio 2022");
// Assegna l'oggetto della seconda data
$ dateVal2 = new DateTime ("16 dic 2022");
// Confronta i valori della data utilizzando l'operatore di confronto
if ($ dateVal1> $ dateVal2)
echo date_format ($ dateVal1, "d-m-y"), "è maggiore di", date_format ($ dateval2, "d-m-y"), ".";
altro
echo date_format ($ dateVal1, "d-m-y"), "è inferiore a", date_format ($ dateval2, "d-m-y"), ".";
?>

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

Esempio 4: confronta gli oggetti della data di diversi formati

Crea un file PHP con il seguente script per creare due oggetti data di diversi formati usando il Appuntamento classe. Successivamente, l'affermazione condizionale è stata utilizzata per confrontare le date.

// Controlla la data dell'evento è impostata o no
if (ISSET ($ _ GET ['ED'])

if ($ _ get ['ed'] != "")

// Leggi la data corrente
$ oggi = new DateTime ();
// Leggi la data dell'evento dal parametro URL
$ eventDate = new DateTime ($ _ get ['ed']);
// calcola la differenza tra le date
$ differenza = $ oggi-> diff ($ eventdate);
/*
Verrà restituito un numero positivo
Se la data dell'evento è maggiore della data corrente
*/
if ($ differenza-> formato ("%r%a")> 0)
Echo "L'evento sta arrivando", $ differenza-> giorni ".";
altro
echo "L'evento è stato organizzato prima", $ difference-> giorni ".";

altro
// Stampa Messaggio di errore
echo "La data dell'evento è vuota.";

altro
// Stampa Messaggio di errore
echo "La data dell'evento manca.";
?>

Dopo aver eseguito lo script precedente, verrà visualizzato il seguente output se non viene superato il valore della data come parametro URL:

Dopo aver eseguito lo script precedente, verrà visualizzato il seguente output se "2022-10-15" viene passato nel parametro URL:

Dopo aver eseguito lo script precedente, verrà visualizzato il seguente output se "2022-01-15" viene passato nel parametro URL:

Esempio 5: confronta gli oggetti della data di diversi formati utilizzando la funzione Date_Create ()

Crea un file PHP con il seguente script per creare due oggetti data di diversi formati usando il date_create () funzione. Successivamente, l'affermazione condizionale è stata utilizzata per confrontare le date.

// Assegna la prima data utilizzando la funzione Date_Create ()
$ dateVal1 = date_create ("30-10-2022");
// Assegna la seconda data utilizzando la funzione Date_Create ()
$ dateVal2 = date_create ("16 dic 2022");
// Confronta i valori della data di diverso formato
if ($ dateVal1> $ dateVal2)
echo $ dateVal1-> formato ("d m y"), "è maggiore di", $ dateval2-> formato ("d m y"), ".";
altro
echo $ dateVal1-> formato ("d m y"), "è inferiore a", $ dateval2-> formato ("d m y"), ".";
?>

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

Confronta i valori della data in base ai valori del timestamp

Il modo per confrontare i valori della data in base ai valori del timestamp è stato mostrato nel seguente esempio:

Esempio 6: confronta le date usando la funzione strtotime ()

Crea un file PHP con il seguente script che confronterà due valori della data convertendo le date nei valori del timestamp:

// Definisci due valori di data della stringa
$ dateVal1 = "2022-01-01";
$ dateVal2 = "2022-06-30";
// Confronta i valori del timestamp delle date
if (strtotime ($ dateVal1) < strtotime($dateVal2))
echo "$ dateval1 è inferiore a $ dateval2.";
altro
echo "$ dateval1 è maggiore di $ dateval2.";
?>

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

Conclusione

In questo tutorial sono stati mostrati diversi modi per confrontare due valori di date di formati simili o diversi. Gli utenti PHP possono seguire qualsiasi metodo per confrontare i valori della data in base ai loro requisiti.