Ошибка формата даты в PHP - PullRequest
0 голосов
/ 30 ноября 2011

У меня есть массив с ключевой отметкой времени со следующим содержимым

"timestamp" => "2011-11-29 00:00:00"

Когда я пытаюсь изменить формат с помощью этого

date("F j, Y", $data['Visitor']['timestamp']);

я получаю следующую ошибку

Обнаружено неверно сформированное числовое значение

Ответы [ 3 ]

6 голосов
/ 30 ноября 2011

Вы должны использовать strtotime для данных даты и времени, чтобы сначала преобразовать их в метку времени Unix.

date("F j, Y", strtotime($data['Visitor']['timestamp']));

Извлечь документацию date , она принимает метку времени Unix в качестве второго параметра, и вы передаете значение datetime.

DEMO

1 голос
/ 30 ноября 2011

Функция требует Unix Time , которое является числовым, а не строковым форматом даты.

Как @Shakti Singh упоминает, вы должны использовать strtotime для этого.

Из документации PHP по параметру timestamp:

Необязательный параметр timestamp - это целочисленная метка времени Unix, которая по умолчанию равна текущему местному времени, если метка времени не указана.Другими словами, по умолчанию используется значение time ().

0 голосов
/ 29 января 2013

Более новый способ сделать это в PHP 5.2 - это DateTime класс :

$datetime = new DateTime('2011-11-29 00:00:00');
echo $datetime->format('F j, Y');

Посмотреть в действии

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...