2017-03-04 73 views
0

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

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; 
} 

该代码适用于绝大多数情况,除非选择的时间为2pm。我希望它创建​​,但是它会转到continue 2。我怎样才能做到这一点?

更新:

OK,所以我做了一个小故障,我发现了正在传递的时间不15,它应该是14.这是一个采样时间被传递到函数:2017-03-11T14:00:00-0800。有谁知道为什么它通过15而不是14?

+0

您需要查看cron作业。这与PHP和更多选择的操作系统无关。基本上你可以通过命令行设置一个执行PHP脚本的cron作业。没有提到你的操作系统,你不可能得到正确的答案。 – Doug

+1

嘿@Doug语法修正。它的'cron'不是chron –

+0

@Doug谢谢你的回答,但我不想在特定时间运行脚本。该脚本检查时间并根据输入的时间,包括'$ addonimage'或不包含。虽然我确实得到了误会。我重新改写了标题,以便更准确地了解我正在寻找的内容。 –

回答

0

好的,我确实发现了一些可行的方法。而不是使用date函数,我只是使用DateTime函数。这里是我现在有:

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

这正是我想要它做的。谢谢你们每一个人的帮助!

相关问题