Maison >développement back-end >tutoriel php >Comment comparer des dates avec un format 'd_m_y' personnalisé en PHP ?
Question :
Comment puis-je comparer deux dates en PHP au format '03_01_12' et '31_12_11' ?
Tentative 1 :
Le code fourni :
$date1 = date('d_m_y'); $date2 = '31_12_11'; if (strtotime($date1) < strtotime($date2)) echo '1 is small ='.strtotime($date1), ','.$date1; else echo '2 is small ='.strtotime($date2), ','.$date2;
Explication :
Le code ci-dessus tente de comparer les dates à l'aide de la fonction strtotime(), mais cela ne fonctionne pas car il utilise le format de date par défaut du système pour la conversion, qui n'est pas le format personnalisé utilisé dans la date chaînes.
Réponse :
Pour comparer correctement les dates avec le format personnalisé donné, vous pouvez utiliser la méthode DateTime::createFromFormat(). Voici un exemple de code modifié :
$format = "d_m_y"; $date1 = \DateTime::createFromFormat($format, "03_01_12"); $date2 = \DateTime::createFromFormat($format, "31_12_11"); var_dump($date1 > $date2);
Dans ce code :
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!