Déterminer si une date se situe dans une plage spécifiée
Étant donné une date de début et de fin, comment pouvez-vous vérifier si une date spécifiée par l'utilisateur se trouve à l'intérieur de cela plage ?
Exemple :
$start_date = '2009-06-17'; $end_date = '2009-09-05'; $date_from_user = '2009-08-28';
Conversion en horodatages
Pour faciliter cette validation, il est avantageux de convertir la dates pour horodater les entiers en utilisant strtotime fonction.
Implémentation :
check_in_range($start_date, $end_date, $date_from_user); function check_in_range($start_date, $end_date, $date_from_user) { // Convert to timestamps $start_ts = strtotime($start_date); $end_ts = strtotime($end_date); $user_ts = strtotime($date_from_user); // Check if user date falls between start and end return (($user_ts >= $start_ts) && ($user_ts <= $end_ts)); }
Explication :
Cet extrait de code convertit les dates données en horodatages. La fonction check_in_range compare ensuite la date spécifiée par l'utilisateur avec les horodatages de début et de fin. Si la date de l'utilisateur est supérieure ou égale à l'horodatage de début et inférieure ou égale à l'horodatage de fin, la fonction renvoie true, indiquant que la date se situe dans la plage. Sinon, il renvoie false.
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!