PHP:返回數組中兩個日期之間的所有日期
給定兩個日期,常見任務是檢索該範圍內的所有日期。這可以透過 PHP 中的各種方法來實現。
方法 1:使用循環
最簡單的解決方案是使用循環遍歷指定範圍內的每一天。以下是範例:
<?php function getDatesFromRange($start_date, $end_date) { $dates = array(); $start = new DateTime($start_date); $end = new DateTime($end_date); $end->add(new DateInterval('P1D')); $temp = $start; while ($temp <= $end) { $dates[] = $temp->format('Y-m-d'); $temp->add(new DateInterval('P1D')); } return $dates; }
方法 2:使用 DatePeriod 類別
PHP 也提供了 DatePeriod 類別來處理日期範圍。使用方法如下:
<?php function getDatesFromRange($start_date, $end_date) { $period = new DatePeriod( new DateTime($start_date), new DateInterval('P1D'), new DateTime($end_date) ); $dates = array(); foreach ($period as $date) { $dates[] = $date->format('Y-m-d'); } return $dates; }
輸出
兩種方法都會傳回指定範圍內的日期數組,如預期輸出所示:
Array( '2010-10-01', '2010-10-02', '2010-10-03', '2010-10-04', '2010-10-05' )
以上是如何取得 PHP 陣列中兩個日期之間的所有日期?的詳細內容。更多資訊請關注PHP中文網其他相關文章!