我在PHP中存储了date("w")
的两个日期(星期几,从0到6),我需要知道当前日期(同样是w)是否介于这两个日期之间。
很简单,除了星期天的部分。我不能只做像
$now = date("w");
if ($first_day < $now < $sec_day){
//is in between
}
如果$first_day = 5
,$now = 6
和$sec_day = 0
,即使介于两者之间也会失败。
我该怎么做呢?
答案 0 :(得分: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
}
答案 1 :(得分:0)
这是预期的行为。星期五和星期日之间没有星期六,除非你开始谈论不同的星期。在这种情况下,您需要考虑date("W")
(周数)。一个简单的解决方案是使用date("z");
,这意味着一年中的某一天。如果没有查看更长的日期,您无法确定某一天是否在两天之间。