Как показать дату доставки i18n 21 день после создания заказа?

#php #woocommerce

Вопрос:

Мне нужна именно дата_i18n вместо простой даты, потому что в ней используются переводы. Я показываю дату создания заказа вот так

 lt;div class="order-info-item bottom"gt; lt;spangt;lt;?php esc_html_e( 'Order Date', 'woocommerce' )?gt;lt;/spangt;  lt;?php   if( $date_created = $order-gt;get_date_created() ){  // Display the localized formatted date  $formated_date_created = $date_created-gt;date_i18n('j F, Y ');  echo $formated_date_created; } ?gt; lt;/divgt;  

Для даты доставки, которую я попробовал, это должно быть 21 день

 lt;div class="order-info-item bottom"gt; lt;spangt;lt;?php echo get_theme_mod('delivery_date_text')?gt;: lt;/spangt;   lt;?php   // The orders date  $date_created = $order-gt;get_date_created();  $date_created = $date_created-gt;date('j F, Y');  // The order date   5 days  $delivery_date = date_i18n( 'j F, Y', strtotime( $order_date . '  21 days' ));   echo $delivery_date;?gt;  lt;/divgt;   

Я думал, что это работает нормально, но позже я увидел, что он показывает ту же дату доставки даже для более старых «заказов», которые я сделал для теста 3-4 дня назад. Их дата доставки должна быть раньше,чем заказы, которые я создал сегодня. Что не так и как заставить это работать правильно?

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

1. ты пытаешься показать 21 12 2021 21 days или 21 12 2021 remainig days

2. что находится $order_date во втором фрагменте? Если он не установлен, я бы предположил strtotime , что он будет рассматриваться как сегодня

3. Я не вижу никаких назначений для $order_date переменной в коде. Вероятно, эту строку $date_created = $order-gt;get_date_created(); следует изменить на эту $order_date = $order-gt;get_date_created(); . strtotime показывать смещение для текущей даты, если вы не указали правильный формат даты. @либертарианец

4. Я пытаюсь показать 15 декабря 2021 года в 2-х языковых версиях. Я нашел фрагмент с strtotime здесь, в stackoverflow, в аналогичном вопросе, человеку нужно было указать 5 дней в дате доставки своих заказов. Мне нужно вот так: Дата заказа: 24 ноября 2021 года. Дата доставки: 15 декабря 2021 года/ Я попробую $order_date = $order-gt;get_date_created(); теперь, thx

5. Я думаю, что это должно быть правильно $delivery_date = date_i18n( ‘j F, Y’, strtotime( $date_created . ‘ 21 день’ )); Я действительно сначала не понял, что у меня нет $order_date, моя ошибка