Печать даты MongoDB с PHP

Как в PHP я получаю формат временной метки из даты MongoDB ?

Предположим, что у меня есть:

 $my_date; print_r($my_date); 

Выход print_r :

 MongoDate Object ( [sec] => 1346300336 [usec] => 593000 ) 

Но делать:

 echo $my_date; 

Выходы:

 0.59300000 1346300336 

Даже попробовал:

 echo (string)$my_date 

То же самое.

$my_date->sec – это временная метка unix, используйте функцию date() чтобы показать ее в требуемом формате.

 echo date('Ymd H:i:s', $my_date->sec); 

вам не хватает микросекунды.

Чтобы показать (mongo -> php)

 $fecha = date(preg_replace('`(?<!\\\\)u`', $my_date->usec, 'YMd H:i:s.u'), $my_date->sec); //MongoDate ISODate("2013-05-28T15:27:24.735Z") //Php Date 2013-May-28 10:27:24.735000 

Чтобы отправить mongo (php -> mongo)

 $fecha_mongo = new MongoDate(strtotime($fecha)); //Fail function, the short way but, 70000 isn't equal to 700000. //$fecha_mongo->usec = (int)$fecha_micro->format("u"); preg_match("/\.(.*)/", $fecha, $uSec); $fecha_mongo->usec = (int)(count($uSec)==2?$uSec[1]:0); //Php Date 2013-May-28 10:27:24.735000 //MongoDate ISODate("2013-05-28T15:27:24.735Z") 

Добрый день!

Марио Т.

Просто быстрое обновление, чтобы сказать, что у MongoDate есть метод toDateTime с версии 1.6 расширения pecl. Теперь вы можете сделать

 $mongoDate->toDateTime()->format(...)