Форматирование даты в формате для чтения

Скажем, в моей базе данных 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")

Связанные источники

Ответ 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()