2016-09-12 1 views
0

私はNode.js + MongoDBサーバーにOpenShiftを持っています。 var date = new Date()操作でサーバー上で日付と比較できるように日付をフォーマットする必要のあるタイムゾーンはどれですか? ssh経由であなたのギアに接続した後OpenShiftで日付を比較するために必要なタイムゾーンはどれですか?

collection.find({'recordType' : recordType, 
       'modificationDate' : $gte : new Date(modificationDate)}}, 
       {fields : {'modificationDate':0}}).toArray(function(err, results) 
+1

* Server Timeに依存することはお勧めできません。* http://stackoverflow.com/questions/13364036/create-javascript-date-utc –

答えて

1

、コンソールでdateを実行して、サーバーのタイムゾーン情報を取得します。私の場合、それはEDTです。

enter image description here

しかし、OpenShiftはgear hosting locationを変更し、あるいはタイムゾーンを変更することを決定した場合、これは動作しない場合がありますので、これは良いアイデアではありません。いくつかの有料購読でギアのホスティング場所を変更することもできます。

したがって、データベースには日時をUTCで格納する方がよいでしょう。また、クライアントのタイムゾーン情報をデータベースに保存して、後でそれに応じて時間を変更することもできます。また、UTCタイムスタンプで時刻を保存することもできます。

new Date().toISOString()は、date-timeをUTC形式で提供します。 new Date()は、ミリ秒単位でUTC timestampとなります。

node-timeを使用すると、異なるタイムゾーンに従って日付時刻を操作できます。

関連する問題