Привет, ребята, я храню дату в mongodb. Проблема, с которой я сталкиваюсь, состоит в том, что строка времени и даты, которую я получаю. Я пытаюсь преобразовать его в Mongodate, но он преобразует его в 0.00000000 2016
, Вот код
$params['start'] = new MongoDate($params['start']);
$params['end'] = new MongoDate($params['end']);
Строка выводит дату и время в этой форме 2016-04-07 19:49:50
но после преобразования становится так 0.00000000 2016
, Пожалуйста, скажите мне, что я делаю неправильно?
В соответствии с документами, MongoDate ожидает значение метки времени, например 1460058590
, а не строка, как 2016-04-07 19:49:50
,
$params['start'] = new MongoDate(strtotime($params['start']));
MongoDate
конструктор ожидает время в секундах эпохи Unix, а не строку времени.
public MongoDate::__construct ([ int $sec = time() [, int $usec = 0 ]] )
Вам нужно будет преобразовать строку времени, используя strtotime
или же DateTime
. Пример кода из документации конструктора даже включает в себя пример:
$d = new MongoDate(strtotime("2009-05-01 00:00:01"));
echo "$d\n";