我有一个网站,每个月的第一个星期一都会安排一个活动。
我需要在我们的主页上显示一条消息,该消息将在活动开始前一周开始显示,并继续显示到活动的日期/时间。
我相信有几种方法可以做到这一点,只是想知道是否有人有任何对他们有用的东西。
谢谢。
每月第一个星期一的前 7 天
在逻辑上等价于更简单的语句:
每月最后一个星期一
因为,就您而言,该日期将在未来发生。
您可以通过以下方式获得:
strtotime("last monday of this month");
您还可以执行以下操作:
strtotime("last monday of october 2013");
strtotime("last monday of last month");
我们必须测试当前日期是否在每月第一个星期一之前的 7 天间隔内。我们还要测试两种情况:假设我们今天在 X 月,该月的第一个星期一可能在 X 月或 X+1 月。
我会做这样的事情:
<?php
if(
(time() <= strtotime('first monday') &&
time() >= strtotime('first monday - 7 days'))
|| (time() <= strtotime('first monday + 1 months')
&& time() >= strtotime('first monday + 1 months - 7 days'))
) {
echo 'Display your message';
}
?>