2015-10-06 80 views
0

不知道發生了什麼,但是mongodate始終以0秒初始化。任何想法會導致什麼?日期是在服務器上正確的..MongoDate行爲異常

$d = new MongoDate(); echo sprintf("%s -- %s \n",$d,$d->toDateTime()->format('Y-m-d H:i'));

0.52000000 1037164 - 1970年1月13日00:06

$d = new MongoDate(strtotime("2010-01-15 00:00:00")); echo sprintf("%s -- %s \n",$d,$d->toDateTime()->format('Y-m-d H:i'));

0.52000000 10371640.97600000 793214 - 1970年-01-10 04:20

+0

更新,這似乎是toDateTime方法,實際上是行爲不端..打印mongodate出來給我正確的信號出現時間.. –

回答

0

好的,好像mongodate-> todatestring不起作用。

所以......無論如何。 ¯\ _(ツ)_ /¯

從MongoDate->秒構造您datetime對象,因爲#PHP

$d = new MongoDate(); 
$slugDate = new DateTime(); 
$slugDate->setTimestamp($d->sec); 

echo sprintf("mongodate= %s \n",$d->toDateTime()->format('Y-m-d H:i')); 
echo sprintf("datetime from mongo = %s \n",$slugDate->format('Y-m-d H:i')); 

$ mongodate = 1970年1月13日1點11

從蒙戈$日期時間= 2015年10月6日16:47

+0

很好,他們有一個封閉的錯誤跟蹤器,所以討厭這個。我相信這個錯誤在這裏是第156行:https://github.com/mongodb/mongo-php-driver/blob/024​​c49c587e5b02d5375b9da2617c450fc5d6c3c/types/date.c 156:zval * datetime_object_ptr =&datetime_object;應該移到169行之後 –