Php Сопоставление дат для формата даты ('j F Y')

У меня две даты:

$today = date('j F Y');
$display_until = date('j F Y');

($ display_until технически исходит из селектора даты поля ACF):

Php Сопоставление дат для формата даты ('j F Y')

В настоящее время я использую:

<?php if ($today < $display_until) : ?>
    *where the magic should happen*
<?php endif; ?>

Но это не разграничение событий, как ожидалось ... может ли кто-нибудь указать мне в правильном направлении?

Вы должны преобразовать их в временные метки эпох, тогда это будет всего два целых числа.

Stender 13.04.2018 11:47

Или это была бы моя идея

Stender 13.04.2018 11:48

Выложите пожалуйста код, в котором обрабатываются переменные $today и $display_until. Объясните, пожалуйста, чего вы хотите достичь?

rmalviya 13.04.2018 11:48

@Stender - Я бы просто использовал что-нибудь вроде $dt_today = new DateTime($today);

GCien 13.04.2018 11:49

Вы можете взглянуть на второй аргумент функции даты в официальном документация.

rmalviya 13.04.2018 11:51

@rmalviya Хммм - я хочу преобразовать строку даты в дату, но я не создаю дату.

GCien 13.04.2018 12:02

Для этого вы можете использовать функцию strtotime php. например date('j F Y', strtotime('2017-05-01'));. Передайте строку даты в качестве параметра в strtotime.

rmalviya 13.04.2018 12:06

@rmalviya Сработало как шарм. Рад, что вы добавили его в качестве ответа, даже если он кажется немного тривиальным.

GCien 13.04.2018 12:10

Я бы лично использовал DateTime.

CD001 13.04.2018 12:11
Стоит ли изучать PHP в 2026-2027 годах?
Стоит ли изучать PHP в 2026-2027 годах?
Привет всем, сегодня я хочу высказать свои соображения по поводу вопроса, который я уже много раз получал в своем сообществе: "Стоит ли изучать PHP в...
Symfony Station Communiqué - 7 июля 2023 г
Symfony Station Communiqué - 7 июля 2023 г
Это коммюнике первоначально появилось на Symfony Station .
Оживление вашего приложения Laravel: Понимание режима обслуживания
Оживление вашего приложения Laravel: Понимание режима обслуживания
Здравствуйте, разработчики! В сегодняшней статье мы рассмотрим важный аспект управления приложениями, который часто упускается из виду в суете...
Установка и настройка Nginx и PHP на Ubuntu-сервере
Установка и настройка Nginx и PHP на Ubuntu-сервере
В этот раз я сделаю руководство по установке и настройке nginx и php на Ubuntu OS.
Коллекции в Laravel более простым способом
Коллекции в Laravel более простым способом
Привет, читатели, сегодня мы узнаем о коллекциях. В Laravel коллекции - это способ манипулировать массивами и играть с массивами данных. Благодаря...
Как установить PHP на Mac
Как установить PHP на Mac
PHP - это популярный язык программирования, который используется для разработки веб-приложений. Если вы используете Mac и хотите разрабатывать...
0
9
1 215
2
Перейти к ответу Данный вопрос помечен как решенный

Ответы 2

Ответ принят как подходящий

Из дальнейшего объяснения из ваших комментариев вы можете использовать функцию strtotime php для преобразования любой строки, похожей на дату, в метку времени, а позже вы можете передать эту метку времени в функцию date, чтобы вернуть дату в желаемом формате.

Вот код для этого:

date('j F Y', strtotime('2017-05-01'));

если хотите сравнения, то:

if (strtotime('Jul 10, 2017') < strtotime('+10 days')) {
    // Your logic
}

Вы также можете использовать более новый объект DateTime.

у вас есть два решения:

1

преобразовать даты в метку времени, а затем сравнить их:

$today = date('j F Y');
$display_until = date('j F Y');

if (strtotim($today) < strtotime($display_until)){
 //
}

2

использовать объект DateTime:

$today = new DateTime();
$diplay_until = new DateTime(); // or new DateTime()->modify('+1 month');

if ($today < $diplay_until){
 // do something
}

Другие вопросы по теме