>백엔드 개발 >PHP 튜토리얼 >PHP 배열에서 두 날짜 사이의 모든 날짜를 얻는 방법은 무엇입니까?

PHP 배열에서 두 날짜 사이의 모든 날짜를 얻는 방법은 무엇입니까?

Susan Sarandon
Susan Sarandon원래의
2024-12-23 04:02:14623검색

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 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.