2012-08-30 14 views
12

どのようにPHPMongoDB日付の定期的なタイムスタンプ形式を取得しますか?MongoDB日付の印刷PHPから

は、私が持っていると仮定します

$my_date; 
print_r($my_date); 

print_r出力は次のとおりです。

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

しかし、やって:

echo $my_date; 

出力:

0.59300000 1346300336 

はでも試してみました:

echo (string)$my_date 

同じことを。

答えて

28

$my_date->secは、UNIX形式のタイムスタンプです。date()機能を使用すると、必要な形式で表示されます。

echo date('Y-m-d H:i:s', $my_date->sec); 
+2

10Genでの決定は誰か分かりませんが、混乱します。 'sec'プロパティを呼び出す必要はありません。まあまあ。 – Justin

+2

その人は実際にここにStackOverflowでハンドルを持っています:http://stackoverflow.com/users/4243/kristina –

2

マイクロ秒が足りません。 ( - >モンゴPHP)

$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") 

良い一日をモンゴに送信する

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

- (> PHPモンゴ)を表示するには

!だけで簡単に更新

マリオT.

3

、MongoDateはPECL拡張モジュールのバージョン1.6以降toDateTime方法を持っていると言うこと。 今できること

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