我遇到了这样的麻烦:当我创建对象并设置一些日期时间时,它正在以UTC时区保存数据库。下面是示例:
//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
在应用程序中:
config.time_zone = 'Moscow'
但它不起作用。
有人可以帮助解决这个问题吗?
您可以更改应用程序的时区,以便 Ruby 的日期对象自动配置日期。 MongoDB将始终以UTC格式存储时间。
MongoDB没有时区的内部知识。
config.time_zone
不设置"服务器时间",这通常由您的操作系统控制。
Rails 始终以 UTC 格式将您的日期存储在数据库中(除非您更改其他设置)。