Vous pouvez utiliser le code plus court pour vérifier le week-end =>date('N', strtotime($date)) >= 6
. Donc, pour vérifier 2 dates - et pas seulement 1 - utiliser une fonction pour garder votre code simple et propre:
$date1 = '2011-01-01' ;
$date2 = '2017-05-26';
if (check_if_weekend($date1) && check_if_weekend($date2)) {
echo 'yes. both are weekends' ;
} else if (check_if_weekend($date1) || check_if_weekend($date2)) {
echo 'no. only one date is a weekend.' ;
} else {
echo 'no. neither are weekends.' ;
}
function check_if_weekend($date) {
return (date('N', strtotime($date)) >= 6);
}
En utilisant votre code existant, ce qui est un peu plus, voici comment vous vérifier 2 dates:
$date1 = '2011-01-01' ;
$date2 = '2017-05-27';
if (check_if_weekend_long($date1) && check_if_weekend_long($date2)) {
echo 'yes. both are weekends' ;
} else if (check_if_weekend_long($date1) || check_if_weekend_long($date2)) {
echo 'no. only one date is a weekend.' ;
} else {
echo 'no. neither are weekends.' ;
}
function check_if_weekend_long($date_str) {
$timestamp = strtotime($date_str);
$weekday= date("l", $timestamp);
$normalized_weekday = strtolower($weekday);
//echo $normalized_weekday ;
if (($normalized_weekday == "saturday") || ($normalized_weekday == "sunday")) {
return true;
} else {
return false;
}
}
Ce code est assez horrible de toute façon. Tu ferais mieux de rouler les vôtres. –
Savez-vous que vous pouvez créer une 'fonction' afin de factoriser le code? –
vérifiez ceci: [link] (https://stackoverflow.com/questions/4802335/checking-if-date-is-weekend-php) –