Comparez les dates en php

Comparez les dates en php

Les valeurs de date doivent être comparées en PHP à différentes fins, telles que le calcul de la date limite d'une tâche et la planification d'un événement. Il est plus facile de comparer deux dates d'un format similaire. S'il est nécessaire pour comparer la date de différents formats, les valeurs de date seront nécessaires pour se convertir en même format en utilisant d'autres fonctions PHP intégrées avant la comparaison. Différentes façons de comparer les valeurs de date dans PHP ont été montrées dans ce tutoriel.

Comparez les dates de format similaire

Les valeurs de date sont stockées sous forme de chaînes en PHP dans le «yyyy-mm-dd»Format. Si cette valeur de date n'est pas attribuée dans ce format, alors la mauvaise sortie sera générée. La manière de comparer deux dates d'un format similaire a été montrée dans ce tutoriel.

Exemple 1: Comparez les valeurs de date à l'aide d'une instruction conditionnelle

Créez un fichier PHP avec le script suivant qui lira deux valeurs de date au format PHP à partir des paramètres d'URL. Ensuite, imprimez le message après avoir comparé les valeurs de date à l'aide d'une instruction conditionnelle et d'un opérateur de comparaison.

// Vérifiez si les valeurs de date sont passées dans le paramètre URL ou non
if (isset ($ _ get ['d1']) et isset ($ _ get ['d2']))

// Définissez la première valeur de date en tant que chaîne
$ dateVal1 = $ _get ['d1'];
// Définissez la valeur de deuxième date en tant que chaîne
$ dateval2 = $ _get ['d2'];
// Vérifiez si les valeurs sont non vides ou non
if ($ dateval1 != "" et $ dateval2 != "")

// Comparez les dates à l'aide de l'opérateur de comparaison
if ($ dateval1 < $dateVal2)
echo "$ dateval1 est inférieur à $ dateval2."
autre
Echo "$ dateVal1 est supérieur à $ dateVal2."

autre
// Imprimer le message d'erreur
Echo "Une ou deux valeurs de date sont vides."

autre
// Imprimer le message d'erreur
ECHO "Une ou plusieurs valeurs de date sont manquantes."
?>

La sortie suivante apparaîtra après l'exécution du script précédent si aucune valeur de date n'est passée en tant que paramètre URL:

Après avoir exécuté le script précédent, la sortie suivante apparaîtra si «2022-09-21 et 2022-01-22» sont passés dans le paramètre URL:

Après l'exécution du script précédent, la sortie suivante apparaîtra si 2022-09-21 et 2022-11-22 ”sont passées dans le paramètre URL.

Exemple 2: Comparez les valeurs de date à l'aide de l'opérateur ternaire

Créez un fichier PHP avec le script suivant qui lira deux valeurs de date au format PHP à partir des paramètres d'URL. Puis imprimez le message après avoir comparé les valeurs de date à l'aide de l'opérateur ternaire.

// Vérifiez si les valeurs de date sont passées dans le paramètre URL ou non
if (isset ($ _ get ['d1']) et isset ($ _ get ['d2']))

// Définissez la première valeur de date en tant que chaîne
$ dateVal1 = $ _get ['d1'];
// Définissez la valeur de deuxième date en tant que chaîne
$ dateval2 = $ _get ['d2'];
// Vérifiez que les valeurs sont non vides ou non
if ($ dateval1 != "" et $ dateval2 != "")
// Comparez les valeurs de date
echo $ dateval1 < $dateVal2 ? "$dateVal1 is less than $dateVal2." : "$dateVal1 is greater than $dateVal2.";
autre
// Imprimer le message d'erreur
Echo "Une ou deux valeurs de date sont vides."

autre
// Imprimer le message d'erreur
ECHO "Une ou plusieurs valeurs de date sont manquantes."
?>

Après avoir exécuté le script précédent, la sortie suivante apparaîtra si «2022-08-25 et 2022-11-22» sont passés dans le paramètre URL:

Comparez les objets de date de formats similaires ou différents

La manière de comparer les objets de date des mêmes formats ou différents a été montré dans cette partie du tutoriel.

Exemple 3: Comparez les objets de date de format similaire

Créez un fichier PHP avec le script suivant pour créer deux objets de date de formats similaires à l'aide du DateTime classe. Ensuite, la déclaration conditionnelle a été utilisée pour comparer les dates.

// Attribuez l'objet de première date
$ dateVal1 = new DateTime ("21 mai 2022");
// Attribuez l'objet de deuxième date
$ dateVal2 = new DateTime ("16 décembre 2022");
// Comparez les valeurs de date en utilisant l'opérateur de comparaison
if ($ dateVal1> $ dateval2)
echo date_format ($ dateval1, "d-m-y"), "est supérieur à", date_format ($ dateval2, "d-m-y"), "."
autre
echo date_format ($ dateval1, "d-m-y"), "est inférieur à", date_format ($ dateval2, "d-m-y"), "."
?>

La sortie suivante apparaîtra après l'exécution du script précédent:

Exemple 4: Comparez les objets de date de différents formats

Créez un fichier PHP avec le script suivant pour créer deux objets de date de formats différents à l'aide du DateTime classe. Ensuite, la déclaration conditionnelle a été utilisée pour comparer les dates.

// Vérifier que la date de l'événement est définie ou non
if (isset ($ _ get ['ed']))

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

// Lire la date actuelle
$ aujourd'hui = new DateTime ();
// Lire la date de l'événement du paramètre URL
$ eventDate = new DateTime ($ _ get ['ed']);
// Calculez la différence entre les dates
$ différence = $ aujourd'hui-> diff ($ EventDate);
/ *
Un nombre positif sera retourné
Si la date de l'événement est supérieure à la date actuelle
* /
if ($ différence-> format ("% r% a")> 0)
Echo "L'événement arrive à l'intérieur", $ différence-> jours, "jours."
autre
Écho "l'événement a été organisé avant", $ différence-> jours ", jours."

autre
// Imprimer le message d'erreur
Echo "La date de l'événement est vide."

autre
// Imprimer le message d'erreur
Echo "La date de l'événement est manquante."
?>

Après avoir exécuté le script précédent, la sortie suivante apparaîtra si aucune valeur de date n'est passée en tant que paramètre URL:

Après l'exécution du script précédent, la sortie suivante apparaîtra si «2022-10-15» est passé dans le paramètre URL:

Après l'exécution du script précédent, la sortie suivante apparaîtra si «2022-01-15» est passé dans le paramètre URL:

Exemple 5: Comparez les objets de date de différents formats en utilisant la fonction date_create ()

Créez un fichier PHP avec le script suivant pour créer deux objets de date de formats différents à l'aide du date_create () fonction. Ensuite, la déclaration conditionnelle a été utilisée pour comparer les dates.

// attribue la première date en utilisant la fonction date_create ()
$ dateVal1 = date_create ("30-10-2022");
// Attribuez la deuxième date en utilisant la fonction date_create ()
$ dateVal2 = date_create ("16 décembre 2022");
// Comparez les valeurs de date de format différent
if ($ dateVal1> $ dateval2)
echo $ dateVal1-> format ("d m y"), "est supérieur à", $ dateval2-> format ("d m y"), "."
autre
echo $ dateVal1-> format ("d m y"), "est inférieur à", $ dateval2-> format ("d m y"), "."
?>

La sortie suivante apparaîtra après avoir exécuté le script précédent.

Comparez les valeurs de date en fonction des valeurs d'horodatage

La façon de comparer les valeurs de date basées sur les valeurs d'horodatage a été présentée dans l'exemple suivant:

Exemple 6: Comparez les dates en utilisant la fonction strToTime ()

Créez un fichier PHP avec le script suivant qui comparera deux valeurs de date en convertissant les dates en valeurs d'horodatage:

// définir deux valeurs de date de la chaîne
$ dateval1 = "2022-01-01";
$ dateval2 = "2022-06-30";
// Comparez les valeurs d'horodatage des dates
if (strtotime ($ dateval1) < strtotime($dateVal2))
echo "$ dateval1 est inférieur à $ dateval2."
autre
Echo "$ dateVal1 est supérieur à $ dateVal2."
?>

La sortie suivante apparaîtra après l'exécution du script précédent:

Conclusion

Différentes façons de comparer deux valeurs de date de formats similaires ou différents ont été montrées dans ce tutoriel. Les utilisateurs de PHP peuvent suivre n'importe quelle méthode pour comparer les valeurs de date en fonction de leurs exigences.