基于country_name / country_code的时间转换

时间:2013-07-15 13:46:59

标签: ruby-on-rails

我一直试图解决这个问题,但即使经过大量的研究,我也无法得到合适的解决方案。

我正在尝试建立一个航班预订系统。我有一个api,它以UTC时间返回航班的到达和离开时间。现在我想显示该国当地时间的航班起飞和到达时间。有没有更快的方法来做到这一点。到目前为止,我有这个东西工作似乎很重。我在下面写一些示例代码。

<% flights.each do |flight| %>
  <% time_zone_name = TZInfo::Country.get(flight.departure_country_code).zone_names.first %>
  <% time_zone = TZInfo::Timezone.get('time_zone_name') %>
  departure_time : <%= time_zone.utc_to_local(flight.departure_time) %>
<% end %>

1 个答案:

答案 0 :(得分:1)

这可能会有所帮助。您可以获取用户的时区,Time#localtime将为您提供运行代码的机器当前时区的时间

> time = Time.now.utc
   => 2013-11-11 14:42:49 UTC 
> time.localtime
  => 2013-11-11 20:12:49 +0530