如何发现今天的日期是否在其他两个日期之间


How to discover if today's date is between 2 other dates?

我的语法不太正确,我只需要一个IF语句来检查今天是否在一组日期之间,如果是,则返回。这应该如何调整?

$now = time('Y/m/d');
$date_september = '2014/09/01';
$date_october = '2014/10/01'; 
if ($now > $date_september && $now < $date_october) 
{
    echo "do this...";
}
  1. 使用DateTime()。这使得日期比较容易,因为这些对象是可比较的。
  2. 您的if声明无效。PHP不支持任何用于比较的简写语法。

试试;

$now            = new DateTime();
$date_september = new DateTime('2014-09-01');
$date_october   = new DateTime('2014-10-01'); 
if ($now > $date_september && $now < $date_october) {
    echo "do this...";
}

您将需要比较unix时间戳值。Strtotime将文本日期转换为Unix时间戳(整数),这与time()调用返回的结果相同。

$now = time();
$date_september = strtotime('2014/09/01');
$date_october = strtotime('2014/10/01'); 
if ($now > $date_september && $now < $date_october) {
    echo "do this...";
}

另一个更简单的解决方案是:

$now = date('Y/m/d');
$date_september = '2014/09/01';
$date_october = '2014/10/01'; 
if ($now > $date_september && $now < $date_october) {
    echo "do this...";
}