Форматирование даты в формате для чтения
Скажем, в моей базе данных mysql у меня есть метка времени 2013-09-30 01:16:06
и позволяет сказать, что эта переменная $ts
.
Как я могу вывести это, чтобы больше напоминать September 30th, 2013
?
Ответы
Ответ 1
$timestamp = "2013-09-30 01:16:06";
echo date("F jS, Y", strtotime($timestamp)); //September 30th, 2013
Обратите внимание на использование S
, чтобы получить английский порядковый суффикс для дня.
Поскольку вы уже используете strtotime
, если вам нужны человекочитаемые данные за текущее время, вы можете просто использовать ключевое слово "now", как в strtotime("now")
Связанные источники
Ответ 2
Используйте strtotime()
для преобразования этой строки в временную метку Unix, затем используйте функцию date()
, чтобы отобразить ее так, как вы хотите.
echo date("F j, Y, g:i a",strtotime($ts));
Ссылка:
http://www.php.net/manual/en/function.strtotime.php
http://www.php.net/manual/en/function.date.php
Ответ 3
Я не думаю, что php даже нужен. Проверьте MySQL DATE_FORMAT()
.
Пример:
SELECT DATE_FORMAT('2013-09-30 01:16:06', '%M %D, %Y %H:%i:%s') as `readable`;
Результат:
September 30th, 2013 01:16:06
Для реального использования:
SELECT
DATE_FORMAT(`date_column`, '%M %D, %Y %H:%i:%s') as `readable`
FROM
`your_table`;
Ответ 4
echo date("F d Y",strtotime("2013-09-30 01:16:06"))
Ответ 5
Что-то вроде:
<?php
$date = '2013-09-30 01:16:06';
$convertDate = date('F jS, Y h:i:s', strtotime($date));
echo $convertDate;
?>
Ответ 6
Запрос Mysql
select UNIX_TIMESTAMP(datetime_field) as datetime_field from table;
PHP
echo date("F d Y", $datetime_field )
Ответ 7
Используйте функцию diffForHumans
:
Carbon\Carbon::parse($ts)->diffForHumans()