Comparaison de dates en PHP : gestion des dates avec un remplissage de zéros manquant
En PHP, comparer des dates peut être difficile lorsque la base de données stocke des dates sans zéro -padding pour les jours inférieurs à 10. Pour résoudre ce problème, plusieurs approches peuvent être utilisées :
Utiliser strtotime et comparaison des horodatages entiers
Si vos dates tombent toujours après le 1er janvier 1970, vous pouvez utiliser la fonction strtotime pour convertir les deux dates en horodatages entiers. Ces horodatages peuvent ensuite être comparés :
<?php $today = date("Y-m-d"); $expire = $row->expireDate; // from the database $today_time = strtotime($today); $expire_time = strtotime($expire); if ($expire_time < $today_time) { /* Do something */ } ?>
Exploitation de la classe DateTime (PHP 5.2.0)
Pour une plus grande flexibilité et une prise en charge de formats de date plus complexes, pensez en utilisant le DateTime class :
<?php $today_dt = new DateTime($today); $expire_dt = new DateTime($expire); if ($expire_dt < $today_dt) { /* Do something */ } ?>
Remarque :
Assurez-vous que la date stockée dans la base de données est cohérente avec le format attendu. Dans ce cas, le format est « Y-m-d » sans remplissage nul pour les jours inférieurs à 10.
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!