Confrontare due date con PHP

Questo piccolo script PHP permette di comparare due date tra di loro, potrebbe essere utile per svariati motivi: Nell’esempio lo uso per verificare se un codice sconto è ancora valido, ma potrebbe essere usato anche per controllare se un prodotto è ancora in garanzia.

$current = strtotime(date(“Y-m-d”));
$datascadenza = strtotime($scadenzasconto);

if ($datascadenza <= $current){
$codiceok=false;
}else {
$codiceok=true;
}

La funzione necessaria per fare questo confronto è strtotime, questa funzione, data una data testuale inglese, restituisce il numero di secondi che sono passati dal 1 gennaio 1970 alle 00:00:00 GMT.

Ho semplificato molto la descrizione della funzione, se volete approfondire ecco la guida del w3schools.com su strtotime : https://www.w3schools.com/php/func_date_strtotime.asp

Nel nostro script trasformiamo la data di scadenza del buono sconto ( $scadenzasconto ) e la data di oggi ( date(“Y-m-d”) ) in secondi con strtotime. Ora il confronto è semplicemente un IF tra due numeri, se la data di scadenza è uguale o maggiore di oggi allora il codice sconto è scaduto, viceversa è ancora valido.

Infine vediamo come sarebbe lo script se dovessimo confrontare la data di scadenza della garanzia di un prodotto:

$d=strtotime(“April 15 2019”);
$datadiacquisto = date(“Y-m-d”, $d);
$current = strtotime(date(“Y-m-d”));
$datescadenzagaranzia = strtotime(‘+2 years’, strtotime($datadiacquisto));
if ($datescadenzagaranzia <= $current){
echo ‘Garanzia scaduta’;
}else {
echo ‘Garanzia attiva’;
}

L’unica differenza tra questo caso e il precedente è che alla data di acquisto del prodotto occorre aggiungere 2 anni prima di confrontarla con la data corrente.

Se volete approfondire tutte le funzioni del comando date in PHP trovate la guida completa di php.net a questo link: https://www.php.net/manual/en/datetime.add.php

Lascia un commento

Il tuo indirizzo email non sarà pubblicato. I campi obbligatori sono contrassegnati *

×

Raccontaci il tuo progetto o il tuo problema!