функция date_diff () не работает в проекте WordPress

#php #wordpress #date #datediff #date-difference

#php #wordpress #Дата #datediff #разница в дате

Вопрос:

Я пробовал оба этих метода, но когда я использую функцию date_diff(), она также скрывает и другие выходные данные.

 <?php $dateto=$values['date-to'];  
     $datefrom=$values['date-from'];
    //Method 1 
   $days=date_diff($dateto,$datefrom);
    $days->format("%R%a days");'
     echo $days;'
//Method 2
    $interval = $datefrom->diff($dateto);
      $days   = $interval->d;  ?>  
  

Комментарии:

1. Похоже, в вашем коде есть проблема: не $days->format("%R%a days");' echo $days;' должно быть так вместо этого?: $days->format("%R%a days"); echo $days;

2. Кроме того, $days здесь есть объект, поэтому вы не можете просто повторить его. Это не строка. Вы можете просто сделать: echo $days->format("%R%a days");

Ответ №1:

Вашу функцию необходимо немного изменить следующим образом..

 $dateto = new DateTime( $values['date-to'] );  
$datefrom = new DateTime( $values['date-from'] );

//will give you days
$datefrom->diff( $dateto )->days; 
$datefrom->diff( $dateto)->minutes; 
  

также в WordPress есть еще одна функция для увеличения разницы во времени

 $from= strtotime( $dateform );
$to = strtotime( $dateto );
human_time_diff( $from, $to );
  

это автоматически даст вам часы, минуты и секунды

Ответ №2:

Попробуйте это: это даст вам разницу в 2 даты в виде дней

  $datef = strtotime($datefrom);
  $datet = strtotime($dateto);
  $diff = $datet - $datef;
  $days =round($diff / 86400);