日期时间比较不起作用PHP

时间:2017-02-13 11:34:20

标签: php string datetime time

如果动态传递,

时序比较无法解决

$date = new DateTime();
    $date->setTimezone(new DateTimeZone('America/New_York'));                                  
    $myTime =$date->format('H:i');
    $myDay =$date->format('l');
if(($s<=$myTime) && ($e>=$myTime||$e=="00:00")) 
  {$open =1;}

以下作品如果是硬编码

if(("11:30"<="05:39")&&("23:00">="05:39"||"23:00"=="00:00"))
      {$open =1;}

我哪里出错了

2 个答案:

答案 0 :(得分:2)

// your first date  
$dateA = '2008-03-01 13:34'; 
// your second date 
$dateB = '2007-04-14 15:23'; 
if(strtotime($dateA) > strtotime($dateB)){ 
   // something here
}

答案 1 :(得分:1)

首先,您使用字符串来比较时间。使用strtotime(http://php.net/manual/en/function.strtotime.php)或mktime(http://php.net/manual/en/function.mktime.php)或使用DateTime类(http://php.net/manual/en/class.datetime.php)转换为时间戳。比较字符串时,它们不会作为时间进行比较,而是作为字符序列进行比较。