【问题标题】:Ruby on Rails set a specific time for a DateTime object in a Time ZoneRuby on Rails 为时区中的 DateTime 对象设置特定时间
【发布时间】:2015-02-12 21:21:51
【问题描述】:

我知道打电话...

DateTime.now.in_time_zone('Pacific Time (US & Canada)')

将返回太平洋时区的 DateTime 对象。有没有办法使用in_time_zone 在特定时间而不是现在返回 DateTime,这样我就不必像这样从 UTC 时间转换

 DateTime.new(year, month, day, hour, min).in_time_zone('Pacific Time (US & Canada)')

【问题讨论】:

  • 你试过了吗?

标签: ruby-on-rails ruby datetime timezone


【解决方案1】:

以上内容还可以,但我认为对于我在多个时区之间无缝往返的目的来说,这是一个更好的解决方案。

DateTime.now.in_time_zone('Pacific Time (US & Canada)').change({hour: 13, minute: 30}).in_time_zone('Eastern Time (US & Canada)')

【讨论】:

【解决方案2】:

你可以这样做:

my_time_zone = "Pacific Time (US & Canada)"  
ActiveSupport::TimeZone[my_time_zone].parse("2015-02-12 21:57:00")

应该返回提供的时区中的 DateTime。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2012-11-07
    • 2011-06-25
    • 1970-01-01
    • 2021-02-19
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-08-25
    相关资源
    最近更新 更多