Я пытаюсь преобразовать дату из yyyy-mm-dd
в dd-mm-yyyy
(но не в SQL); однако я не знаю, как функция даты требует метки времени, и я не могу получить метку времени из этой строки.
Как это возможно?
php
date
formatting
matthy
источник
источник
Ответы:
Используйте
strtotime()
иdate()
:(См. Документацию strtotime и date на сайте PHP.)
Обратите внимание, что это было быстрое решение исходного вопроса. Для более обширных преобразований вы должны использовать
DateTime
класс для анализа и форматирования :-)источник
Если вы хотите избежать преобразования strtotime (например, strtotime не может проанализировать ваши входные данные), вы можете использовать,
Или, что эквивалентно:
Сначала вы даете ему формат, в котором находится $ dateString. Затем вы сообщаете ему формат, в котором вы хотите, чтобы $ newDateString находился.
Или, если исходным форматом всегда является «Ymd» (гггг-мм-дд), просто используйте DateTime :
источник
DateTime::createFromFormat()
- это действительно более полезно, чемstrtotime()
strtotime()
полезно для преобразования формата истинного типа (Ymd) в другие форматы, ноDateTime::createFromFormat()
универсально. Это какSTR_TO_DATE
в MySQLstrtotime()
Использование:
Без перерасчета даты я не уверен, что это будет иметь большое значение.
источник
Этот код работает для каждого формата даты.
Вы можете изменить порядок замены переменных, таких как $ 3- $ 1- $ 2 из-за вашего старого формата даты.
источник
Для получения дополнительной информации см. Документацию для
strtotime
.Или даже короче
источник
Также еще одна неясная возможность:
Я не знаю, буду ли я использовать это, но все же :)
источник
Самый голосующий ответ на самом деле неверен!В руководстве PHP strtotime здесь говорится, что «Функция ожидает получить строку, содержащую формат даты на английском языке».
На самом деле это означает, что ожидается американский формат даты в США, такой как «mdY» или «m / d / Y».Это означает, что дата, указанная как «Ymd», может быть неверно истолкована
strtotime
. Вы должны предоставить дату в ожидаемом формате.Я написал небольшую функцию для возврата дат в нескольких форматах. Используйте и изменяйте по желанию.
Если кто-то превратит это в класс, я был бы рад, если бы этим поделились.источник
Есть два способа реализовать это:
1.
2.
источник
Вы можете попробовать
strftime()
функцию. Простой пример:strftime($time, '%d %m %Y');
источник
Используйте эту функцию для преобразования из любого формата в любой формат
источник
Ниже приведен код PHP для генерации завтрашней даты с использованием
mktime()
и изменения ее формата на формат дд / мм / гггг , а затем распечатка с использованиемecho
.источник
источник
Вы можете изменить формат, используя дату () и strtotime ().
$ date = '18.09.2009';
дата эха ('dm-y', strtotime ($ date));
Результат:
18-09-19
Мы можем изменить формат, изменив (dmy).
источник
Для этого конкретного преобразования мы также можем использовать строку формата.
Очевидно, что это не будет работать для многих других преобразований формата даты, но так как мы просто переставляем подстроки в этом случае, это еще один возможный способ сделать это.
источник
strtotime()
. :-)источник
Простой способ использования
strtotime()
иdate()
:Со временем
источник
Используйте
date_create
иdate_format
Попробуй это.
источник