2016-11-08 2 views
2

私はUTCDateTimeオブジェクトとの奇妙な何か見ている:UTCDateTime :: toDateTime()メソッドreturnig 1970日時

$dt = new UTCDateTime(time()); 
var_dump($dt); 

出力:

object(MongoDB\BSON\UTCDateTime)#208 (1) { 
    ["milliseconds"]=> 
    int(1478644003) 
} 

OKなので、このタイムスタンプは11月8日2016

です

しかし、ときに私は次のようにします。

var_dump($dt->toDateTime()); 

出力:

object(DateTime)#206 (3) { 
    ["date"]=> 
    string(26) "1970-01-18 02:44:04.105000" 
    ["timezone_type"]=> 
    int(1) 
    ["timezone"]=> 
    string(6) "+00:00" 
} 

日付は1970にリセットされる:(これの原因である可能性がありますか?これらのオブジェクトを正しく使用していますか?これは、UTCDateTimeのDateTime表現である必要があります。http://php.net/manual/en/mongodb-bson-utcdatetime.todatetime.php

答えて

0

time()は、エポックから秒を返します。

UTCDateTimeコンストラクタは、エポックから数ミリ秒かかります。したがって、時間を1000倍にする必要があります。

toDateTime()は、その値を正しい時刻に解析できるようになりました。

関連する問題