检查2给定的日期是周末PHP
问题描述:
我有2个日期这样YYYY-mm-dd,我想检查这两个日期是否是周末。检查2给定的日期是周末PHP
我有这个代码,但它只测试1个日期,我不知道如何适应它...我需要添加一个$ date_end。 感谢您的帮助
$date = '2011-01-01';
$timestamp = strtotime($date);
$weekday= date("l", $timestamp);
$normalized_weekday = strtolower($weekday);
echo $normalized_weekday ;
if (($normalized_weekday == "saturday") || ($normalized_weekday == "sunday")) {
echo "true";
} else {
echo "false";
}
答
您可以使用更短的代码来检查周末=>date('N', strtotime($date)) >= 6
。 所以,检查2日 - 不仅仅是1 - 使用功能,让您的代码简洁明快:
$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);
}
使用现有的代码,这是稍长,以下是你如何将检查2日期:
$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;
}
}
答
可以使用的strtotime();和日期()函数来获取日期的当天,然后检查是否坐在阿特斯阳光
function check_if_weekend($date){
$timestamp = strtotime($date);
$day = date('D', $timestamp);
if(in_array($day, array('sun', 'sat'))
return true;
else return false;
}
+0
谢谢做它也检查是否是明天的星期日? – Pipoo
答
合并多个答案为一体,并给予一些额外的,你会得出如下:
function isWeekend($date) {
return (new DateTime($date))->format("N") > 5 ? true : false;
}
还是很长的路要走:
function isWeekend($date) {
if ((new DateTime($date))->format("N") > 5) {
return true;
}
return false;
}
无论如何,这段代码是非常可怕的。你最好推出自己的。 –
你知道你可以创建一个函数来分解代码吗? –
检查此:[链接](https://stackoverflow.com/questions/4802335/checking-if-date-is-weekend-php) –