php 获取开始日期与结束日期之间所有日期

/**
 * 获取指定日期段内每一天的日期
 * @param  Date  $startdate 开始日期
 * @param  Date  $enddate   结束日期
 * @return Array
 */
function getDateFromRange($startdate, $enddate){

    $stimestamp = strtotime($startdate);
    $etimestamp = strtotime($enddate);

    // 计算日期段内有多少天
    $days = ($etimestamp-$stimestamp)/86400+1;

    // 保存每天日期
    $date = array();

    for($i=0; $i<$days; $i++){
        $date[] = date('Y-m-d', $stimestamp+(86400*$i));
    }

    return $date;
}

$startdate = '2016-08-29';
$enddate = '2016-09-29';
// demo
$date = getDateFromRange($startdate,$enddate);
print_r($date);

Array
(
[0] => 2016-08-29
[1] => 2016-08-30
[2] => 2016-08-31
[3] => 2016-09-01
[4] => 2016-09-02
[5] => 2016-09-03
[6] => 2016-09-04
[7] => 2016-09-05
[8] => 2016-09-06
[9] => 2016-09-07
[10] => 2016-09-08
[11] => 2016-09-09
[12] => 2016-09-10
[13] => 2016-09-11
[14] => 2016-09-12
[15] => 2016-09-13
[16] => 2016-09-14
[17] => 2016-09-15
[18] => 2016-09-16
[19] => 2016-09-17
[20] => 2016-09-18
[21] => 2016-09-19
[22] => 2016-09-20
[23] => 2016-09-21
[24] => 2016-09-22
[25] => 2016-09-23
[26] => 2016-09-24
[27] => 2016-09-25
[28] => 2016-09-26
[29] => 2016-09-27
[30] => 2016-09-28
[31] => 2016-09-29
)

posted @ 2016-08-29 16:53  TBHacker  阅读(7893)  评论(1编辑  收藏  举报