Comparaison de dates en PHP : gestion des jours rembourrés non nuls
Lors de la comparaison de dates en PHP, il est important de considérer que les dates stockées dans le la base de données peut ne pas suivre le format avec zéro (par exemple, "2011-10-2"). Cela peut conduire à des comparaisons incorrectes lors de l'utilisation d'opérateurs de comparaison de dates standard.
Solution utilisant strtotime()
Pour les dates après le 1er janvier 1970, vous pouvez utiliser strtotime( de PHP). ) fonction pour comparer les dates :
$today = date("Y-m-d"); $expire = $row->expireDate; //from database $today_time = strtotime($today); $expire_time = strtotime($expire); if ($expire_time < $today_time) { /* do Something */ }
strtotime() convertit une chaîne représentant une date et une heure en UNIX timestamp, qui représente le nombre de secondes depuis le 1er janvier 1970. Cela permet de comparer les dates en comparant leurs horodatages.
Solution utilisant la classe DateTime
Pour les versions PHP 5.2.0 et supérieur, vous pouvez utiliser la classe DateTime pour travailler avec des dates :
$today_dt = new DateTime($today); $expire_dt = new DateTime($expire); if ($expire_dt < $today_dt) { /* Do something */ }
La classe DateTime fournit un ensemble complet de fonctions pour travailler avec les dates et les heures, y compris des opérateurs de comparaison.
Autres considérations
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!