#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 />';