問題があります。自分のデータをGMT + 2のデータベースに保存します。UTC時刻を含むクエリを検索する
GMT 0またはUTCのデータベースから将来のオフセットをサポートしたいと考えています。私は
"time" : ISODate("2017-06-11T10:39:57.000Z")
を持っている。しかし、それはGMT +2、 でだと私がしたい場合は は:
_schema.find({time:{$gt:2017-06-11T09:00:00.000Z}) in GMT 0.
問題があります。自分のデータをGMT + 2のデータベースに保存します。UTC時刻を含むクエリを検索する
GMT 0またはUTCのデータベースから将来のオフセットをサポートしたいと考えています。私は
"time" : ISODate("2017-06-11T10:39:57.000Z")
を持っている。しかし、それはGMT +2、 でだと私がしたい場合は は:
_schema.find({time:{$gt:2017-06-11T09:00:00.000Z}) in GMT 0.
述べたように、MongoDBの店は、UTCのタイムスタンプ。
のMongoDBは、デフォルトでUTCで時間を格納し、このフォームに任意のローカル時間表現を変換します。変更されていない現地時間値で動作または報告しなければならないアプリケーションは、UTCタイムスタンプと一緒にタイムゾーンを格納し、アプリケーションロジックで元のローカル時間を計算することができます。
守っ:それはUTCとしてデータベースに保存されている
> db.events.insert({my_date: new Date('Sun Jun 11 2017 12:37:15 GMT+0300 (MSK)')})
WriteResult({ "nInserted" : 1 })
> db.events.find()
{ "_id" : ObjectId("593d0f98cb81c56e86d5d414"), "my_date" : ISODate("2017-06-11T09:37:15Z") }
データをmongodbに送信すると、データが送信されます(11/06/2017 12:37:15) gmtをspesefyしません:/私は悲しいことにアプリケーションを制御しません。 だから私は "utc"を返します。(11/06/2017 12:37:15) – edan
@edan:あなたがタイムゾーンを指定しないと、おそらくデフォルトのutcになります。あなたのせい。アプリを修正してください。 –
もし私がアプリをコントロールしていたら、悲しいことに私は傾けるだろう。 しかし、彼らは私にGMTをdefont colmnに送ります。そして、utcを得るためにQuery(date_colomn-GMT_ colomn)にposibiletyがあるのなら、それは何ですか? – edan
号。その時点で+2の差があるタイムゾーンで作成したかもしれませんが、それでもUTCとして保存しています。 –