2016-11-08 59 views
2

我看到有UTCDateTime對象一個奇怪的現象:UTCDateTime :: toDateTime()方法returnig 1970年的日期時間

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

輸出:

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

好了,時間戳是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()現在可以將該值解析到正確的時間。

相關問題