[英]strtotime function not working properly
我正在尝试使用此代码仅打印Ymd格式的工作日
$strtdate = "2017-04-10";
$incrmntvar = 0;
while($incrmntvar <= $gettotaldays){
$checkday = date("D",strtotime($strtdate));
echo "{$checkday} and {$strtdate}". "<br>";
if($checkday != 'Sat' || $checkday != 'Sun'){
$incre_date = strtotime("1 day", strtotime($strtdate));
$strtdate = date("Y-m-d", $incre_date);
$incrmntvar ++;
}
else{
$incre_date = strtotime("1 day", strtotime($strtdate));
$strtdate = date("Y-m-d", $incre_date);
echo "else " . $strtdate . "<br>";
}
}
但它会打印所有的日子,包括星期六和星期日。 我的代码有什么问题
在周六/周日比较中,您使用或( ||
),而不是和( &&
)。 如果$checkday
为'Sat'
,则$checkday != 'Sun'
的支票仍将返回true,因此仍将输出周末。
因此,以下一行
if($checkday != 'Sat' || $checkday != 'Sun')
应该改正为
if($checkday != 'Sat' && $checkday != 'Sun')
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.