繁体   English   中英

strtotime函数无法正常工作

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM