如何在数组中找到两个日期之间的天数[关闭]

问题描述 投票:-2回答:1

我有一个包含开始日期和结束日期的数组。现在我想保存数组中给定日期之间的个别日期。

Array
(
[0] => Array
    (
        [start] => 2019-02-16
        [end] => 2019-02-23
    )

[1] => Array
    (
        [start] => 2019-03-15
        [end] => 2019-03-17
    )

[2] => Array
    (
        [start] => 2019-03-23
        [end] => 2019-03-24
    )

[3] => Array
    (
        [start] => 2019-03-27
        [end] => 2019-03-29
    )

[4] => Array
    (
        [start] => 2019-04-17
        [end] => 2019-04-21
    )
)

这应该是结果:(只有“之间”的日子)

Array
( 
 '2019-03-16',
 '2019-03-28',
 '2019-04-18',
 '2019-04-19',
 '2019-04-20'
)

我怎样才能遍历数组?

php arrays date date-range
1个回答
2
投票

将此应用于每个日期并合并到数组中:

$from = DateTime::createFromFormat('Y-m-d', '2019-02-16');
$from->add(new DateInterval('P1D'));
$to = DateTime::createFromFormat('Y-m-d', '2019-02-23');
$dates = iterator_to_array( new \DatePeriod( $from ), new \DateInterval( 'P1D' ), $to ) );
© www.soinside.com 2019 - 2024. All rights reserved.