mongodb コレクションにデータを挿入するときに、日付を「20-06-2015」として入力し、次を使用して mongo 形式に変換します。
new MongoDate(strtotime(ClearContent(date("Y-m-d",strtotime($start_date)))));
しかし、データベースをチェックインすると、次のように表示されます。
ISODate("2015-04-19T18:30:00.000Z")
なぜ昨日の日付がかかるのですか?
mongodb の日付は UTC で保存されます。おそらく、PHP で別のタイムゾーンを使用している可能性があります。
UTC タイムゾーンを使用するには、PHP スクリプトの先頭でこれを設定してみてください。
date_default_timezone_set('UTC');
これは機能します。
$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);
これを試して...
$dat = new DateTime(date("Y-m-d",strtotime($start_date)), new DateTimeZone('UTC'));
$get = $dat->getTimestamp();
$date= new MongoDate($get);