Ruby on rails Rails将时间戳转换为带时区的格式化时间

Ruby on rails Rails将时间戳转换为带时区的格式化时间,ruby-on-rails,datetime,ruby-on-rails-4,Ruby On Rails,Datetime,Ruby On Rails 4,我正在使用Rails 4构建一个应用程序。我正在从JSON读取Unix时间戳,并试图根据我的时区将其显示为正确格式的时间。我能够读取时间戳的显示,但它是以UTC而不是EST显示的 这就是我的看法 <%= Time.at(DateTime.strptime(@weather['sys']['sunrise'].to_s,'%s')).strftime("%l:%M %P") %> 我有四个不同的时间戳,我在做同样的转换 有什么东西我可以钉在上面显示正确的时区吗 尝试以下操作: &

我正在使用Rails 4构建一个应用程序。我正在从JSON读取Unix时间戳,并试图根据我的时区将其显示为正确格式的时间。我能够读取时间戳的显示,但它是以UTC而不是EST显示的

这就是我的看法

<%= Time.at(DateTime.strptime(@weather['sys']['sunrise'].to_s,'%s')).strftime("%l:%M %P") %>

我有四个不同的时间戳,我在做同样的转换

有什么东西我可以钉在上面显示正确的时区吗

尝试以下操作:

<% time_zone = "PDT" %>
<%= Time.at(DateTime.strptime(@weather['sys']['sunrise'].to_s,'%s')).in_time_zone(time_zone).strftime("%l:%M %P") %>

有关更多信息,请参阅。

您可以尝试以下方法:

<%= Time.at(DateTime.strptime(@weather['sys']['sunrise'].to_s,'%s')).in_time_zone("E‌​astern Time (US & Canada)").strftime("%l:%M %P") %>


在时区(“东部时间(美国和加拿大)”)
在时区(“EST”)
-您用当前的时间格式尝试过吗?示例:
Time.now.in_timeu\u zone(“EST”)
我尝试了@dkp,我得到了整个日期时间打印为2016-03-29 11:18:00-0400,所以我不确定这是否正确。我只是再试了一次,在格式化之前把东西转换成时区,结果成功了!这就是我用的:如果你想写下来作为答案,我会接受的。谢谢你让我走上正轨!很高兴它帮助了你!更新为答案。