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

时间:2014-08-14 19:34:21

标签: php if-statement

我无法正确理解语法,我只需要一个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...";
}

3 个答案:

答案 0 :(得分:4)

  1. 使用DateTime()。它使日期比较更容易,因为这些对象具有可比性。
  2. 您的if声明无效。 PHP不支持任何比较的简写语法。
  3. 试试这个;

    $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...";
    }
    

答案 1 :(得分:3)

您需要比较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...";
}

答案 2 :(得分:1)

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

$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...";
}