1

我在 PHP 中存储了两个日期date("w")(星期几,从 0 到 6),我需要知道当前日期(再次使用 w)是否在这两者之间。很简单,除了周日的部分。我不能只做类似的事情

$now = date("w");
if ($first_day < $now < $sec_day){
    //is in between
}

导致 if和$first_day = 5,即使介于两者之间,它也会失败。我应该如何处理这个?$now = 6$sec_day = 0

4

2 回答 2

1

只需要在第一天大于最后一天的情况下更改天数:

//first correct days
if ($first_day > $sec_day){
    if ($now > $first_day){
        $sec_day+=7;
    }
    if ($now < $first_day)
        $first_day-=7;
    }
}
if ($first_day < $now < $sec_day){
    //is in between
}
于 2012-11-22T12:42:39.473 回答
0

这是预期的行为。星期六不在星期五和星期日之间,除非你开始谈论不同的星期。在这种情况下,您需要考虑date("W")(周​​数)。一个简单的解决方案是使用date("z");这意味着一年中的某一天。如果不查看较大的日期,则无法确定一天是否介于两天之间。

于 2012-11-22T09:15:58.817 回答