1. 程式人生 > >PHP 兩個日期(時間段) 之間的日期陣列

PHP 兩個日期(時間段) 之間的日期陣列

在開發過程中會遇到這樣一個需求:獲取2018-11-02到2018-11-15之間的日期陣列

希望得到如下陣列:


Array
(
    [0] => 2018-11-02
    [1] => 2018-11-03
    [2] => 2018-11-04
    [3] => 2018-11-05
    [4] => 2018-11-06
    [5] => 2018-11-07
    [6] => 2018-11-08
    [7] => 2018-11-09
    [8] => 2018-11-10
    [9] => 2018-11-11
    [10] => 2018-11-12
    [11] => 2018-11-13
    [12] => 2018-11-14
    [13] => 2018-11-15

)

思路:

  1. 想得到兩個日期之間的陣列,需要兩個引數,一個起始日期,一個結尾日期
  2. while迴圈 循壞條件結尾日期大於起始日期
  3. 起始日期放入陣列中
  4. 每次迴圈起始日期+1天
  5. 起始日期大於結尾日期時退出,即可得出兩個時間段的陣列

程式碼:

$arr=periodDate('2018-11-02','2018-11-15');
print_r($arr);

function periodDate($start_time,$end_time){
    $start_time = strtotime($start_time);
    $end_time = strtotime($end_time);
    $i=0;
    while ($start_time<=$end_time){
        $arr[$i]=date('Y-m-d',$start_time);
        $start_time = strtotime('+1 day',$start_time);
        $i++;
    }

    return $arr;
}