PHP获得平日,小时和分钟

时间:2013-10-18 22:59:19

标签: php datetime

我的代码出了什么问题?我希望我的脚本检查它是否是星期一,大于或等于22:00且小于或等于23:00。

$t = date("D:G:i");

if ($t >= "Mon:22:00" && $t <= "Mon:23:00") {
    $status = "up";
    } else {
    $status = "down";
    }

2 个答案:

答案 0 :(得分:0)

你无法比较字符串(它不是日期,它只是任意符号的字符串),因为我们不是代码编写猴子我只是描述你应该如何做而不是提供可复制的代码:< / p>

  1. 将工作日编号,小时,分钟从当前时间变为3个单独的变量
  2. 将工作日变量与星期一值进行比较
  3. 如果工作日没问题 - 将小时数与22
  4. 进行比较 这里可以省略
  5. 分钟,如果您检查[22,23],或者您需要在23:00案例中进行额外比较
  6. 另一种方法 - 为最接近的星期一22和23小时生成unix时间戳,然后进行数字比较

答案 1 :(得分:0)

您要比较两个字符串而不是两个数字值。根本不理想。您希望将日期转换为Unix时间戳并比较这些值。

mktime http://php.net/manual/en/function.mktime.php

mktime 将允许您获取任何日期的Unix时间戳。

时间http://php.net/manual/en/function.time.php

time 会以Unix时间戳为您提供当前日期和时间。

然后你可以进行比较,找出哪一个比另一个更大/更小。