php - PHP:根据每月第二个星期四的时间范围做事
问题描述
我有一个快速且希望很容易回答的问题。
如何在 PHP 中构建以下逻辑:
- 如果今天的日期和时间在本月的第二个星期四下午 6 点之前,请找到该日期并将其设置为字符串,
- 如果今天的日期和时间在本月的第二个星期四下午 6 点到下午 6 点 30 分之间,则显示消息“会议正在进行中”,
- 如果今天的日期在本月第二个星期四下午 6:30 之后,则查找下个月第二个星期四下午 6 点的日期,并将其设置为字符串。
例如:
if (date < 2ndThursofThisMonth_At6pm {
$meeting="Apr 9, 2020 18:00:00";
}
if (date > 2ndThursofThisMonth_At6pm {
echo "meeting happening now";
}
if (date > 2ndThursofThisMonth_At6:30pm {
$meeting="May 14, 2020 18:00:00";
}
解决方案
您可以使用strtotime
的日期解析能力找到会议时间的时间戳,然后将当前时间戳(从 返回time()
)与它进行比较,以确定会议是在未来、现在还是过去(这种情况下我们需要查找下一次会议时间):
$second_thursday = strtotime('second thursday of this month 6pm');
$now = time();
if ($now < $second_thursday) {
$meeting = date('Y-m-d H:i:s', $second_thursday);
}
elseif ($now <= $second_thursday + 1800) {
$meeting = 'meeting happening now';
}
else {
$meeting = date('Y-m-d H:i:s', strtotime('second thursday of next month 6pm'));
}
echo $meeting;
输出(截至 2020 年 3 月 4 日):
2020-04-09 18:00:00
推荐阅读
- python - 从 Discord.py 执行 Python 命令
- ansible - 将 If-else shell 转换为 Ansible
- python - 我们如何解决 coda 中的多个包冲突
- python - 在 selenium python webdriver 中查找元素时出错
- asynchronous - 总是返回 Ok HttpResponse 然后在 actix-web 处理程序中工作
- python - ValueError:列必须与熊猫中的键长度相同
- reactjs - 材质 UI:无法读取未定义的属性“按钮”
- kubernetes - 将多个容器放在一个 pod 中有什么好处?
- javascript - 使用 Zapier 的 Code 格式化邮政编码
- r - 减去R中2个表之间的范围