Работа с датой время [требует правки]

318
10 февраля 2017, 06:21

В бд хранится дат время в таком формате 1486983600187. Как мне получить читабельный? PHP.

Answer 1

Используйте DateTime::createFromFormat и формат U документация

$date = DateTime::createFromFormat('j-M-Y', '15-Feb-2009');
echo $date->format('Y-m-d');

Либо средствами sql

DATE_FORMAT(FROM_UNIXTIME(`timestamp`), '%d-%m-%Y') as "date"
Answer 2

1486983600187 - это unix-like timestamp в миллисекундах, скорее всего получен из Javascript.

Для получения обычного unix-timestamp его нужно разделить на 1000;

Для получения из timestamp даты-времени в нужном формате существует функция date

$time = 1486983600187;
date('Y-m-d H:i:s', $time / 1000);
Answer 3

В бд хранится дат время в таком формате 1486983600187.

Hадо было указать, в какой именно СУБД. Предполагаю, что это MySQL. В таком случае гораздо разумнее сразу от сервера получать дату-время, приведённые к нужному типу и отформатированные в нужный вид.

Кроме того, надо было указать тип поля, в котором хранится такое значение. Потому как 1486983600187 для хранения в СУБД ни под UNIXTIME, ни под TIMESTAMP не подходит (для первого слишком велико, а для второго слишком мало).

Если vp_arth прав, и это UNIXTIME, умноженный на 1000,

mysql> SELECT FROM_UNIXTIME('1486983600187' / 1000) AS FormattedDateTime;
+----------------------------+
| FormattedDateTime          |
+----------------------------+
| 2017-02-13 14:00:00.187000 |
+----------------------------+
1 row in set (0.00 sec)
mysql>
Answer 4

Самый простой способ

echo date("Y-m-d H:i:s", strtotime($row['date]));
READ ALSO
Правильное подключение PDO

Правильное подключение PDO

Есть подключение к БД:

415
Ошибка синтаксиса dollar quoting postgresql в Yii2 Db execute()

Ошибка синтаксиса dollar quoting postgresql в Yii2 Db execute()

Создаю триггер с помощью миграции, PostgreSQLДелаю запрос напрямую в БД -> отрабатывает корректно: и функция, и триггер создаются

418
Вывод данных в html

Вывод данных в html

Допустим у нас имеется html страницы (вывод тела):

414