2

MongoDBviaにデータを挿入しましたPHPが、1 つのフィールドが日付です。そのため、MongoDB のドキュメントによると、それを行うために a を使用しnew MongoDate()ました。

MongoDBでは、日付は のように格納されISODate("2013-07-03T22:56:12Z")ます。つまり、私のタイムゾーンはZ(= 0Z) なので、タイムゾーンは 0
です。しかし、私は米国西海岸にいて、私の場所のタイムゾーンは8Z(太平洋時間) です。

new Date()ターミナルで Mongoと入力すると、すべて問題ありません。日付は です。ISODate("2013-07-03T22:56:128Z")これが正しいタイムゾーン8Zです。

私の開発環境は Windows で、MongoDB はバージョン 2.4.4 です。

このエラーを回避するために、MongoDB、PHP コード、または php.ini で設定するものはありますか?

4

3 に答える 3

3

データベースの日付は UTC である必要があります。PHP はそれに応じて調整する必要があります。通常はdate_default_timezone_set. その後、データベースから日付を取得してgmdate("y-m-d", strtotime($date))、たとえばプラグインすることができます。

于 2013-07-04T00:46:05.460 に答える