用于检查时间是否在PHP下午2点或之前的代码

时间:2017-03-04 22:17:27

标签: php

我在switch语句中有一个代码,用于检查输入的时间是否在下午2点或之前。如果是,它继续在它所在的循环中,如果不是,它会跳过它所在的循环(switch语句在foreach循环中)。这是我目前的代码:

case '3370':
            $dateTime = DateTime::createFromFormat('Y-m-d\TH:i:sO', $_SESSION["apptTime"]);
    $timestamp = $dateTime->getTimestamp();
    $time = date('H', $timestamp);
    if($time <= 14){
        $addonimage = 'https://mywebsite.com/image.png';
        break;

    }else{
        continue 2;
}   

代码大部分都有效,除非选择的时间是下午2点。我希望它创建$addonimage,而是转到continue 2。我该怎么做呢?

更新

好的,所以我做了一些故障排除,我发现传递的时间是15,它应该是14.这是传递给函数的示例时间:2017-03-11T14:00:00-0800。有谁知道它为什么通过15而不是14?

1 个答案:

答案 0 :(得分:0)

好的,我确实发现了一些有用的东西。我只使用DateTime函数,而不是使用date函数。这就是我现在所拥有的:

$dateTime = DateTime::createFromFormat('Y-m-d\TH:i:sO', $_SESSION["apptTime"]);
    $timestamp = $dateTime->format('H');
    if(intval($timestamp) <= 14){

这正是我想要的。谢谢大家的帮助!