2015-06-20 69 views
1

雖然將數據插入到MongoDB中收集我輸入日期爲'20 -06-2015' 然後將其轉換使用到蒙戈格式:MongoDB的日期不與給定值匹配

new MongoDate(strtotime(ClearContent(date("Y-m-d",strtotime($start_date))))); 

但現在當我在數據庫檢查它顯示此:

ISODate("2015-04-19T18:30:00.000Z") 

爲什麼要採取昨天的日期。

回答

1

日期MongoDB中存儲在UTC,而且很可能你使用的是不同的時區在PHP

試着在你的PHP腳本的開頭設置此使用UTC時區:

date_default_timezone_set('UTC'); 
1

試試這個...

$dat = new DateTime(date("Y-m-d",strtotime($start_date)), new DateTimeZone('UTC')); 
$get = $dat->getTimestamp(); 
$date= new MongoDate($get); 
1

這將起作用。

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