php检查数组中的多个日期都在一个日期范围内

dan*_*nyo 0 php date range

我有一个像这样结构的数组:

Array ( [0] => 24-12-2013 [1] => 25-12-2013 [2] => 26-12-2014 [3] => 27-12-2013 [4])
Run Code Online (Sandbox Code Playgroud)

我想检查数组中的任何日期是否在给定的日期范围内.

日期范围的结构如下:

$start = (date("d-m-Y", strtotime('25-12-2013')));
$end =   (date("d-m-Y", strtotime('26'12'2013')));
Run Code Online (Sandbox Code Playgroud)

我想知道数组中的哪些日期在日期范围内.

jsz*_*ody 6

情侣:

  • 使用时间戳或DateTime对象来比较日期,而不是字符串
  • 使用日期格式YYYY-MM-DD以避免对日期格式(d/m/y或m/d/y)的潜在歧义

此代码将执行您想要的操作:

$dates = array("2013-12-24","2013-12-25","2014-12-24","2013-12-27");
$start = strtotime('2013-12-25');
$end =   strtotime('2013-12-26');

foreach($dates AS $date) {
    $timestamp = strtotime($date);
    if($timestamp >= $start && $timestamp <= $end) {
        echo "The date $date is within our date range\n";
    } else {
        echo "The date $date is NOT within our date range\n";
    }
}
Run Code Online (Sandbox Code Playgroud)

看到它的实际效果:

http://3v4l.org/GWJI2