Comment déterminer si une date se situe dans une plage définie
En programmation, vous pouvez rencontrer la tâche de vérifier si une date fournie par l'utilisateur la date se situe dans une plage de dates prédéterminée. Cela peut être crucial pour des scénarios tels que la validation des entrées de l'utilisateur ou le filtrage des données en fonction de critères temporels.
Conversion en horodatages pour une comparaison efficace
Pour aborder cette tâche efficacement, il est conseillé pour convertir les dates en horodatages à l'aide de la fonction strtotime. Cela transformera les chaînes représentant les dates en représentations numériques (horodatages d'époque) représentant le nombre de secondes depuis le 1er janvier 1970.
Établissement d'une fonction de vérification de plage
Avec le dates converties en horodatages, vous pouvez créer une fonction pour effectuer la vérification de la plage :
function check_in_range($start_date, $end_date, $date_from_user) { // Convert to timestamp $start_ts = strtotime($start_date); $end_ts = strtotime($end_date); $user_ts = strtotime($date_from_user); // Check that user date is between start & end return (($user_ts >= $start_ts) && ($user_ts <= $end_ts)); }
Cette fonction prend trois paramètres d'horodatage : la date de début, la date de fin et la date à vérifier. Il utilise une comparaison logique pour déterminer si la date fournie par l'utilisateur se situe dans la plage spécifiée et renvoie une valeur booléenne en conséquence.
Exemple d'utilisation
Pour utiliser cette fonction, transmettez simplement les dates pertinentes comme paramètres d'horodatage :
check_in_range('2009-06-17', '2009-09-05', '2009-08-28');
Cet exemple d'utilisation vérifiera si '2009-08-28' se situe dans la plage définie par '2009-06-17' et '2009-09-05', renvoyant vrai si c'est le cas et faux si ce n'est pas le cas.
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!