php检查时间是否在星期天09:00到12:00之间

时间:2014-10-19 13:58:02

标签: php

我试图制作一个PHP代码,检查它是否是星期天早上或者不再是星期天早上(09:00到12:00之间)

它应该100%工作,但我看不出我做错了什么

<?php

    date_default_timezone_set('Europe/Stockholm'); // timezone 

    $date = strtotime(time());

    if ((date('w', $date) == 0 && date('H', $date) >= 09) ||
    (date('w', $date) == 0 && date('H', $date) <= 12)) {
    echo "yes, it´s sunday morning";
    } else {
    echo 'nope, not sunday morning anymore';
    }

?>

注意:这只是任何给定的星期日 - 没有确定的日期 不确定时区脚本是否是问题

现在它说“不,不是星期天早上”,我将值从12改为18或不是

3 个答案:

答案 0 :(得分:1)

试试这个:

<?php
date_default_timezone_set('Europe/Stockholm');
$current_day = date("w");//get the current day : 0 is sunday
$time_now = date("H:i:s");
echo $current_day;
echo($time_now);
if($current_day == 0){//today it is sunday
    if($time_now >= "09:00:00" && $time_now <="12:00:00"){
         echo "yes, it´s sunday morning";
    }
    else{
         echo "yes, it´s sunday but not morning";
    }
}
else{
    echo 'nope, not sunday';
}

&GT;

答案 1 :(得分:0)

给定代码只检查当天是星期天。这将检查周日早晨:

<?php

    date_default_timezone_set('Europe/Stockholm'); // timezone 

    $date = strtotime(time());

    if ((date('w', $date) == 0 && date('H', $date) >= 09) && date('H', $date) <= 12)) {
        echo "yes, it´s sunday morning";
    } else {
        echo 'nope, not sunday morning anymore';
    }

?>

请注意&&而不是||

答案 2 :(得分:0)

尝试:

<?php

    date_default_timezone_set('Europe/Stockholm'); // timezone 

    $date = strtotime(time());

    if ( date('w', $date) == 0 
      && date('H', $date) >= 09 
      && date('H', $date) <= 12 ) {
    echo "yes, it´s sunday morning";
    } else {
    echo 'nope, not sunday morning anymore';
    }

?>

你的代码错了,每次星期天都是9之后(日期('w',$ date)== 0           &安培;&安培; date('H',$ date)&gt; = 09)或12之前(date('w',$ date)== 0&amp;&amp; date('H',$ date)&lt; = 12)。< / p>