我在PHP中使用了一系列if / else if语句。在这些陈述中,我正在检查一个条件,看它是否是特定日期,如下所示:
$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"
}
我不知道发生了什么事,但是如果我这样做的话,我不能延长当前时间以外的日期,我的其他声明就是回音“”。
例如,如果我写一个声明 如果日期> = 2016年3月30日,上午10:00且小于或等于2016年3月30日中午12点,这不起作用,我想要显示的内容不会显示。
但是,如果我写的是&gt; = 2016年3月30日,上午10:00和小于或等于2016年3月30日,上午10:55,那确实有效。
知道如何解决这个问题吗?
答案 0 :(得分:2)
我认为您正在寻找的是strtotime。
<?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';
}