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

时间:2016-02-09 06:27:30

标签: php 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 "..."; } ?>

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

感谢。

2 个答案:

答案 0 :(得分:0)

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

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

答案 1 :(得分:0)

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

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

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