雖然將數據插入到MongoDB中收集我輸入日期爲'20 -06-2015' 然後將其轉換使用到蒙戈格式:MongoDB的日期不與給定值匹配
new MongoDate(strtotime(ClearContent(date("Y-m-d",strtotime($start_date)))));
但現在當我在數據庫檢查它顯示此:
ISODate("2015-04-19T18:30:00.000Z")
爲什麼要採取昨天的日期。
雖然將數據插入到MongoDB中收集我輸入日期爲'20 -06-2015' 然後將其轉換使用到蒙戈格式:MongoDB的日期不與給定值匹配
new MongoDate(strtotime(ClearContent(date("Y-m-d",strtotime($start_date)))));
但現在當我在數據庫檢查它顯示此:
ISODate("2015-04-19T18:30:00.000Z")
爲什麼要採取昨天的日期。
日期MongoDB中存儲在UTC,而且很可能你使用的是不同的時區在PHP
試着在你的PHP腳本的開頭設置此使用UTC時區:
date_default_timezone_set('UTC');
試試這個...
$dat = new DateTime(date("Y-m-d",strtotime($start_date)), new DateTimeZone('UTC'));
$get = $dat->getTimestamp();
$date= new MongoDate($get);
這將起作用。
$d = new \MongoDate();
$mongodate = date('Y-m-d H:i:s', $d->sec);
date_default_timezone_set("Asia/Kolkata");
$date = date('Y-m-d H:i:s');
$time = strtotime($date) - strtotime($mongodate);
$mongodate_time = new \MongoDate($d->sec + $time, $d->usec);