3

私はそのような問題を抱えています:オブジェクトを作成して日時を設定しているときそれはUTCTimeZoneでデータベースを保存しています。次に例を示します。

//showing full list of object properties 
 Grant _id: 5108ee29e6b564611400000, start_date: 2013-01-30 09:56:27 UTC
 //then showing a.start_date
 Wed, 30 Jan 2013 13:56:27 +0400 

データベースがUTCを使用することを禁止しようとしました。これがmongoid.ymlです:

development:
  options:
    raise_not_found_error: false
  sessions:
    default:
      use_activesupport_time_zone: true
      use_utc: false
      database: test_mongoid_production
      hosts:
        - localhost:27017
      options:
        consistency: :strong

およびapplication.rb内:

config.time_zone = 'Moscow'

しかし、それは機能しません。

誰かがこの問題を手伝ってくれる?

4

2 に答える 2

9

アプリケーションのタイムゾーンを変更して、rubyの日付オブジェクトが日付を自動構成するようにすることができます。MongoDBは常にUTCで時間を保存します。

MongoDBには、タイムゾーンに関する内部知識がありません。

于 2013-01-30T10:07:50.803 に答える
0

config.time_zone通常、オペレーティングシステムによって制御される「サーバー時間」は設定しません。

Rails は常に日付を UTC でデータベースに保存します (別の設定を変更しない限り)。

于 2013-01-30T10:10:07.270 に答える