DateInterval:从现在开始的年份

时间:2017-10-13 11:36:29

标签: php dateinterval

我需要修改代码,以便发送2年的日期,而不仅仅是一年。

我尝试更改为$year_from_now->add(new DateInterval('P2Y'));,但无效。

请参阅以下代码:

$year_from_now=new DateTime();

    $year_from_now->add(new DateInterval('P1Y'));


    $dates_array = array(); 

    foreach ( $tariffs as $beds24_room_type=>$tariff_type_dates ) {

        $counter = 1;

        foreach ($tariff_type_dates as $tariff_type=>$tariff_dates ) {

            $odo = "p".$counter;

            foreach ( $tariff_dates as $date=>$tariff_details ) {

                $this_date=date_create(date("Y/m/d" , strtotime($date) ) );

                $diff=date_diff($year_from_now,$this_date);

                if ( 

                    (int)$diff->format("%R%a") <= 0 && // Up to one year from today

                    (int)$diff->format("%R%a") > -365 // Not earlier than today

                    ) {

1 个答案:

答案 0 :(得分:1)

您自己的代码存在问题。 P2Y应该有用。

尝试在空文件中执行以下代码,您将看到它是正确的

<?php
    $year_from_now=new DateTime();
    $year_from_now->add(new DateInterval('P2Y'));

    echo $year_from_now->format('Y-m-d H:i:s');
?>