这个 strtotime 代码会每两周循环一次吗?



我想每隔一周显示一次,持续 5 天。所以本周是 2 月 8 日至 2 月 12 日,我希望它在 2 月 22 日至 2 月 26 日再次显示并无限期地继续,这段代码会起作用吗?谢谢。

$StartDate = strtotime('2016-01-25');
$CurDate = date("Y-m-d");
$NextDate = date("Y-m-d", strtotime("+2 week", $StartDate));
$EndDate = date("Y-m-d", strtotime("+18 days", $StartDate));
while ($CurDate > $NextDate && $CurDate > $EndDate ) { 
    $NextDate = date("F j", strtotime("+2 week", strtotime($NextDate)));
    $EndDate = date("F j", strtotime("+18 days", strtotime($EndDate))); 
}
<?php if ( $CurDate >= $NextDate && $NextDate <= $EndDate ) { echo "..."; } ?>

我认为代码是正确的,但我不确定它是否会循环。

谢谢。

最好在寻求帮助之前运行您的代码并尝试自己调试它,您永远不知道自己会找到什么!

至于你的代码,我没有看到任何直接的问题,但我不是PHP解释器!

可能会

,但最好使用 date() 函数来获取一年中的当前一周:

if (((int) date('W')) % 2 === 0)
{
    // display message
}

date('W')将返回当前周数(每年 52 周)。上面的代码将在偶数周显示消息,并在奇数周隐藏它。您可以检查=== 1以改为在奇数周显示消息。

最新更新