Вы будете рады написать код, используя для этого временные метки, позвольте мне привести пример:
SELECT UNIX_TIMESTAMP(CURDATE())
вернет что-то вроде 1586063538
.
Это метка времени, которая с ним легко работать.
Тогда в вашем случае вам нужно будет выполнить двухэтапный код
Сначала при извлечении из базы данных вы должны использовать:
SELECT field1, field2, ..., fieldN, UNIX_TIMESTAMP(sdate) as epoch
FROM events
WHERE sdate > CURDATE()
ORDER BY STR_TO_DATE (sdate,'%d %F %Y')
LIMIT 1;
, где field1, field2, ...
- другие поля, которые вы хотите, и эпоха будет содержать эпоху для этой даты. Помните, что при кодировании именование полей всегда является хорошей практикой.
Затем, используя функцию PHP date()
, вы можете проанализировать метку времени эпохи как Apr 02 , используя:
$timestamp = 1586063538;
$day_formatted = date("M d",$timestamp);
echo($day_formatted); //will be Apr 05 in this case
Подробнее о функции date()
в документации php здесь: https://www.php.net/manual/en/function.date.php
Если вы хотите копать глубже в эпоху unix отметки времени вы можете посмотреть здесь: https://en.wikipedia.org/wiki/Unix_time