Я храню временную метку datetime в базе данных (SQL Server). Я просто использую это, чтобы получить текущее время: date('Y-m-d H:i:s')
который отлично работает.PHP/SQL - формат Datetime испорчен PHP-сторона
В базе данных он выглядит точно так же (формат), однако, когда я получаю datetime из базы данных, формат полностью отключен.
Дата, например, отображается в базе данных как 19-4-2016 13:29:36
, но когда я читаю данные на PHP, она становится apr 19 2016 01:29:36:000
.
Моего код для чтения из базы данных:
$dateFromDB = /* Sql query here.. */;
$myTimestamp = date('Y-m-d H:i:s', strtotime($dateFromDB));
The $dateFromDB
вариабельного эха: apr 19 2016 01:29:36:000
The $myTimestamp
эха: 1970-01-01 01:00:00
дата хранится в базе данных как datetime
, имейте в виду, что формат даты выглядит хорошо внутри таблицы базы данных, он испорчен, когда он читается на стороне PHP.
Как вы запрашиваете его из базы данных? Он должен быть «ГГГГ-ММ-ДД ЧЧ: ММ: СС» [согласно документации] (http://dev.mysql.com/doc/refman/5.7/en/datetime.html): «* формат для эти значения: «ГГГГ-ММ-ДД ЧЧ: ММ: СС [.фракция]» *. Вы уверены, что он хранится как 'DATETIME' или это на самом деле' VARCHAR'? Независимо от этого, вы можете использовать 'DateTime :: createFromFormat()'. ** Кроме того, вы используете MySQL или MsSQL? ** Вы отметили его с помощью MySQL, но «Microsoft SQL Server» не является MySQL. – h2ooooooo
, если вы правильно храните, то почему вы используете функцию 'strtotime' и' date'. Простой 'echo $ dateFromDB'. Я не думаю, что вам нужно преобразовать значение – urfusion
@ h2ooooooo Я добавил картинку в мой OP. – Dubb