Maison > développement back-end > tutoriel php > Comment puis-je comparer de manière fiable des dates dans des formats non conventionnels en PHP ?

Comment puis-je comparer de manière fiable des dates dans des formats non conventionnels en PHP ?

DDD
Libérer: 2024-12-13 18:42:11
original
886 Les gens l'ont consulté

How Can I Reliably Compare Dates in Unconventional Formats in PHP?

Comparer des dates en PHP : un guide détaillé

Lorsque vous travaillez avec des dates en PHP, vous pouvez rencontrer le besoin de comparer deux dates pour déterminer leur ordre relatif. Cette tâche peut être difficile, surtout lorsque les dates sont présentées dans un format non conventionnel tel que « 03_01_12 » et « 31_12_11 ».

Solution : Utiliser DateTime::createFromFormat

Pour comparer avec précision des dates dans un format inhabituel, nous pouvons utiliser la fonction DateTime :: createFromFormat. Cette fonction nous permet de spécifier une chaîne de format personnalisée pour analyser les valeurs de date en objets DateTime.

Le code suivant montre comment comparer les dates dans le format donné :

$format = "d_m_y";
$date1  = \DateTime::createFromFormat($format, "03_01_12");
$date2  = \DateTime::createFromFormat($format, "31_12_11");

var_dump($date1 > $date2);
Copier après la connexion

Les résultats de cette approche dans une valeur booléenne indiquant si $date1 est supérieur à $date2. Vous pouvez utiliser l'instruction var_dump à des fins de débogage ou la remplacer par une logique appropriée dans votre application.

Pièges de strtotime()

Le code fourni dans la question a tenté d'utiliser strtotime(), qui est généralement utilisé pour convertir une chaîne de date lisible par l'homme en un horodatage Unix. Cependant, strtotime() attend les dates dans un format standardisé et ne peut pas gérer les formats personnalisés comme « 03_01_12 ». L'utilisation de DateTime::createFromFormat surmonte cette limitation en vous permettant de spécifier le format exact des dates analysées.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal