【问题标题】:How do I find the days between two dates in an array [closed]如何在数组中找到两个日期之间的天数[关闭]
【发布时间】:2019-03-22 15:13:17
【问题描述】:

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

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】:

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

$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 ) );

【讨论】:

  • 它还包括2019-02-16
  • 那么添加一天,让我编辑。
  • 完美@Elanochecer
  • 抱歉,很遗憾我不知道如何将它应用到我的数组中
  • 您只需要遍历您的数组并使用数组的“开始”和“结束”日期设置“从”和“到”。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2011-06-24
  • 2017-05-17
  • 1970-01-01
  • 2011-05-29
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多