我需要修改代码,以便发送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
) {
答案 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');
?>