2015-06-20 71 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);