因專案需求,需要取得指定日期段內的資料以每日處理。
例如需要對2016-06-01至2016-06-05日期段內,每一天的資料進行處理。首先需要取得這個日期段內每一天日期,再循環執行處理。
<?php$date = array('2016-06-01','2016-06-02','2016-06-03','2016-06-04','2016-06-05');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('Y-m-d', $stimestamp+(86400*$i)); } return $date; }// demo$date = getDateFromRange('2016-02-25','2016-03-05'); 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 取得開始日期與結束日期之間所有日期的詳細內容。更多資訊請關注PHP中文網其他相關文章!