Приращение переменной даты в PHP

#php #wordpress #date

Вопрос:

Я хватаю дату публикации поста (WordPress) и пытаюсь добавить к ней 2 дня, чтобы создать дату истечения срока действия поста. Но я выдаю следующую ошибку:

Обратите внимание: Встречается неверно сформированное числовое значение

Вот мой код:

 $published_date = get_the_date( 'd/m/Y', get_the_ID() );
echo 'Pub: ' . $published_date . '<br />';  
        
$expiry_date = date( 'd/m/Y', strtotime( $published_date, ' 2 days' ) );
echo 'Exp: ' . $expiry_date . '<br />';
 

Кто-нибудь может указать здесь на мою ошибку, пожалуйста?

Ответ №1:

При использовании косых черт для разделения частей даты PHP принимает формат месяц/день/год. Вы используете формат день/месяц/год, который может привести к невозможным датам (например, 30/12/2021).

При манипулировании значениями дат используйте либо временные метки Unix, либо формат месяц/день/год:

 $published_date = get_the_date( 'm/d/Y', get_the_ID() );
echo 'Pub: ' . $published_date . '<br />';  
        
$expiry_date = date( 'd/m/Y', strtotime( $published_date, ' 2 days' ) );
echo 'Exp: ' . $expiry_date . '<br />';