Ruby on rails Rails时区选择下拉列表显示GMT而不是UTC
我创建了一个带有time:time和time\u zone:string的模型。具体而言,我使用以下方法创建:Ruby on rails Rails时区选择下拉列表显示GMT而不是UTC,ruby-on-rails,ruby-on-rails-3,timezone,Ruby On Rails,Ruby On Rails 3,Timezone,我创建了一个带有time:time和time\u zone:string的模型。具体而言,我使用以下方法创建: rails generate scaffold Alarm time:time time_zone:string 我创建了一个表单,如下所示: <%= form_for(@alarm) do |f| %> <div class="field"> <%= f.label :time %><br /> <%= f.
rails generate scaffold Alarm time:time time_zone:string
我创建了一个表单,如下所示:
<%= form_for(@alarm) do |f| %>
<div class="field">
<%= f.label :time %><br />
<%= f.time_select :time %>
</div>
<div class="field">
<%= f.label :time_zone %><br />
<%= f.time_zone_select :time_zone,
ActiveSupport::TimeZone.us_zones,
default: "Pacific Time (US & Canada)" %>
</div>
<% end %>
当我看到表单时,time_zone_select会显示一个下拉列表,其中包含以GMT而非UTC表示的一系列时区(例如“(GMT-08:00)太平洋时间”)
我认为默认情况下,时区以UTC显示。我如何以UTC(例如(UTC-08:00)太平洋时间)显示
这是一个新的项目,我没有接触任何配置文件
我使用的是ruby-1.9.3-p0、rails 3.2.6和pg 0.13.2
提前谢谢 时间存储在UTC中,但显示在本地时区中 要在视图中将时间还原回UTC,请使用以下方法:
local_to_utc(time, dst=true)
或者在应用程序中全局更改它。rb
:
config.active_record.default_timezone = "UTC"
这决定了从数据库中提取日期和时间时是使用Time.local(如果设置为:local)还是使用Time.utc(如果设置为:utc)。Rails的默认值为:utc,但活动记录在Rails之外使用时默认为:local。时间存储在utc中,但显示在本地时区中 要在视图中将时间还原回UTC,请使用以下方法:
local_to_utc(time, dst=true)
或者在应用程序中全局更改它。rb
:
config.active_record.default_timezone = "UTC"
这决定了从数据库中提取日期和时间时是使用Time.local(如果设置为:local)还是使用Time.utc(如果设置为:utc)。默认值为:utc for Rails,尽管Active Record在Rails之外使用时默认为:local。谢谢您的回答,但我不确定您是否正确理解了我的问题。我不是说时间不以UTC显示,而是说组合框中的时区不以UTC显示。例如,如果转到,图片中的组合框将显示:(UTC-10:00)夏威夷(UTC-09:00)阿拉斯加。。。但在我的组合框中,它显示:(GMT-10:00)夏威夷(GMT-09:00)阿拉斯加。。。希望这澄清了问题。谢谢隐马尔可夫模型。。我能提供的最好信息是:
config.active\u record.default\u timezone=“UTC”
,这也不起作用。谢谢你!我会继续找的,这方面有什么进展吗?我也有同样的问题谢谢你的回答,但我不确定你是否正确理解了我的问题。我不是说时间不以UTC显示,而是说组合框中的时区不以UTC显示。例如,如果转到,图片中的组合框将显示:(UTC-10:00)夏威夷(UTC-09:00)阿拉斯加。。。但在我的组合框中,它显示:(GMT-10:00)夏威夷(GMT-09:00)阿拉斯加。。。希望这澄清了问题。谢谢隐马尔可夫模型。。我能提供的最好信息是:config.active\u record.default\u timezone=“UTC”
,这也不起作用。谢谢你!我会继续找的,这方面有什么进展吗?我也有同样的问题