首頁 > 後端開發 > php教程 > 如何取得 PHP 陣列中兩個日期之間的所有日期?

如何取得 PHP 陣列中兩個日期之間的所有日期?

Susan Sarandon
發布: 2024-12-23 04:02:14
原創
608 人瀏覽過

How to Get All Dates Between Two Dates in a PHP Array?

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中文網其他相關文章!

來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
作者最新文章
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板