php DatePeriod对象访问开始和当前日期

时间:2016-04-09 18:44:39

标签: php date

我的理解是你无法从日期对象访问开始日期和当前日期。我目前的PHP是5.5,有没有解决方法,因为我无法升级到php 5.6或php 7,我需要获取这些日期。

DatePeriod Object
(
    [start] => DateTime Object
        (
            [date] => 2016-04-03 00:00:00
            [timezone_type] => 3
            [timezone] => UTC
        )

    [current] => DateTime Object
        (
            [date] => 2016-04-10 00:00:00
            [timezone_type] => 3
            [timezone] => UTC
        )
)

1 个答案:

答案 0 :(得分:1)

DatePeriodTraversable接口实现。它仅支持foreach循环。

您可以获取仅将其转换为数组的开始和当前元素:

$start    = new DateTime( '2016-03-01' );
$end      = new DateTime( '2016-03-31' );

$interval = new DateInterval( 'P1D' );
$period   = new DatePeriod( $start, $interval ,$end );

$arPeriod = iterator_to_array( $period );

$startDate   = $arPeriod[0];
next( $arPeriod );
$currentDate = current( $arPeriod );