我希望每隔一周展示一次,持续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 "..."; } ?>
我认为代码是正确的,但我不确定它是否会循环。
感谢。
答案 0 :(得分:0)
最好在寻求帮助之前运行您的代码并尝试自己调试,您永远不会知道自己会发现什么!
至于你的代码,我没有看到任何直接的问题,但我不是PHP解释器!
答案 1 :(得分:0)
可能,但您可能最好使用date()
函数来获取当前的一周:
if (((int) date('W')) % 2 === 0)
{
// display message
}
date('W')
将返回当前周数(每年52周)。上面的代码会在偶数周显示消息,并在奇数周隐藏它。您可以检查=== 1
以在奇数周显示消息。