首頁  >  文章  >  後端開發  >  php 取得開始日期與結束日期之間所有日期

php 取得開始日期與結束日期之間所有日期

jacklove
jacklove原創
2018-06-08 23:34:261822瀏覽

因專案需求,需要取得指定日期段內的資料以每日處理。

例如需要對2016-06-01至2016-06-05日期段內,每一天的資料進行處理。首先需要取得這個日期段內每一天日期,再循環執行處理。

<?php$date = array(&#39;2016-06-01&#39;,&#39;2016-06-02&#39;,&#39;2016-06-03&#39;,&#39;2016-06-04&#39;,&#39;2016-06-05&#39;);foreach($date as $d){    // 执行处理}?>

如果日期段跨度大(2015-09-01至2016-06-30),並且有跨年,跨月(閏月)的情況,人手創建日期數組太費時間且不合理。

因此寫了以下方法,可以取得指定日期段內每一天的日期,程式碼如下:

<?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(&#39;Y-m-d&#39;, $stimestamp+(86400*$i));
    }    return $date;
}// demo$date = getDateFromRange(&#39;2016-02-25&#39;,&#39;2016-03-05&#39;);
print_r($date);?>

輸出:

Array(
    [0] => 2016-02-25
    [1] => 2016-02-26
    [2] => 2016-02-27
    [3] => 2016-02-28
    [4] => 2016-02-29
    [5] => 2016-03-01
    [6] => 2016-03-02
    [7] => 2016-03-03
    [8] => 2016-03-04
    [9] => 2016-03-05)

這篇講解了php 取得開始日期與結束日期之間所有日期,更多相關內容請關注php中文網。

相關推薦:

解讀php的PDO連接資料庫的相關內容

如何透過php用程式碼實現遞迴獲取一個陣列中指定key的值

透過PHP實作讀取一個1G的檔案大小

以上是php 取得開始日期與結束日期之間所有日期的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn