根据时间范围创建条件函数

时间:2019-06-24 14:31:45

标签: php conditional-statements

正如标题所示,我需要基于时间范围在PHP中创建一个条件函数。关于PHP的知识,我很基础,但可以理解概念。

我有一些第三方代码,但我需要它只能在特定时间范围内运行,并且在超出范围时必须被禁用。

我正在尝试实现以下目标:

git checkout B
git checkout A -- dir/dir2/dir3

该问题的背景故事是我有一些第三方代码将googledialogflow集成到网站中,但当前运行24/7,我有一个从0800一直运行到1700的livechat系统,并且希望googles diaglogflow(chatbot)在运行时实时聊天未运行。

我并不是真正在寻找一个直接的答案,而是我将如何实现这一目标的更多概念,以便将来更好地学习。

谢谢, 马丁(Martyn)

1 个答案:

答案 0 :(得分:0)

IF time >=0800<=1700 (
    DO NOTHING
) ELSE (
    RUN CODE
)

首先,您不需要伪代码,否则就可以了,

IF time < 0800 OR TIME > 1700
    RUN CODE

接下来要知道的是如何检查当前时间,有很多方法可以做到,所以让我们考虑哪种方法是最好的。

我们只关心小时和分钟,所以让他们来吧。

$hourNow = date('H'); // $hour now is a string but we'd rather have it as an integer for better comparison.

$hourNow = (int) $hourNow; // this will cast, for example "15" to 15

$minuteNow = (int) date('i'); // as you can see you can do casting and getting a minute value at once


现在,当我们拥有所需的所有信息时,应该很容易编写:


if ($hourNow < 8 || ($hourNow === 17 && $minuteNow > 0) || $hourNow > 17) {
   // Do whatever you need in this case.
}

条件非常简单:如果小时小于8-我们知道现在是8点之前。 如果> 17,那么显然会晚些。

如果它是17,则可能是17:00,所以我们需要指定分钟数大于0。

我希望能有所帮助,随时询问是否不清楚。