PHP IF语句中的格式化日期

PHP IF语句中的格式化日期,php,Php,我在PHP中使用了一系列简短的if/elseif语句。在这些语句中,我正在检查一个条件,以确定它是否是一个特定的日期,例如: $timezone = date_default_timezone_set('America/Chicago'); $TheDate = date("F j, Y, g:i a"); if ($TheDate >= "March 30, 2016, 9:00 pm" && $TheDate <=

我在PHP中使用了一系列简短的if/elseif语句。在这些语句中,我正在检查一个条件,以确定它是否是一个特定的日期,例如:

    $timezone       = date_default_timezone_set('America/Chicago');
    $TheDate        = date("F j, Y, g:i a");
    if ($TheDate >= "March 30, 2016, 9:00 pm" && $TheDate <= "March 30, 2016, 9:59 pm") {
echo "this"
}

else if ($TheDate >= "April 1, 2016, 10:00 am" && $TheDate <= "April 1, 2016, 4:00 pm") {
echo "that"
}
$timezone=date\u default\u timezone\u set('America/Chicago');
$TheDate=日期(“fj,Y,g:ia”);
如果($TheDate>=“2016年3月30日,晚上9:00”&$TheDate=“2016年4月1日,上午10:00”&&&$TheDate=2016年3月30日,上午10:00且小于或等于2016年3月30日,下午12:00,则此操作无效,我想要显示的内容不会显示

但是,如果我写>=2016年3月30日上午10:00,并且小于或等于2016年3月30日上午10:55,那么这就行了


你知道我怎么解决这个问题吗?

我想你要找的是


我想你要找的是


使用unix时间戳或日期时间对象进行比较,而不是日期字符串使用unix时间戳或日期时间对象进行比较,而不是日期字符串变量“strotime('2016年3月30日,9:30 pm'));这是否仅仅表示格式?如果在另一个else语句中,月份不同,或者年份不同呢?我把它放在那里是为了向您展示,您可以使用strotime反转日期函数,因为您在问题中使用了date函数。strotime返回它试图解释的字符串的unix时间戳。这是秒数s自unix纪元1970年1月1日起。time函数返回当前unix时间戳。请参阅,我发现我必须向“else if”语句添加一个附加变量才能使该条件生效。我必须使用$TheDate2=strotime('2016年4月1日上午10:00'));该条件的确切开始时间。我做错了什么吗?我应该只需要一个变量来表示整个条件集吗?变量'strotime('2016年3月30日,晚上9:30');这是否仅仅表示格式?如果在另一个else语句中,月份不同,或者年份不同呢?我把它放在那里是为了向您展示,您可以使用strotime反转日期函数,因为您在问题中使用了date函数。strotime返回它试图解释的字符串的unix时间戳。这是秒数s自unix纪元1970年1月1日起。time函数返回当前unix时间戳。请参阅,我发现我必须向“else if”语句添加一个附加变量才能使该条件生效。我必须使用$TheDate2=strotime('2016年4月1日上午10:00'));该条件的确切开始时间。我做错了什么吗?我应该只需要一个变量来表示整个条件集吗?
<?php    
date_default_timezone_set('America/Chicago');

$TheDate = strtotime('March 30, 2016, 9:30 pm');

//$TheDate = strtotime(date('F j, Y, g:i a'));
//$TheDate = time(); // This is much better for getting the current unix timestamp.

if($TheDate >= strtotime('March 30, 2016, 9:00 pm') && $TheDate <= strtotime('March 30, 2016, 9:59 pm')) {
    echo 'this';
}
elseif($TheDate >= strtotime('April 1, 2016, 10:00 am') && $TheDate <= strtotime('April 1, 2016, 4:00 pm')) {
    echo 'that';
}
else {
    echo 'neither';
}