【问题标题】:Converting a UTC date string into a localized date string in Ruby or Rails将 UTC 日期字符串转换为 Ruby 或 Rails 中的本地化日期字符串
【发布时间】:2020-02-03 05:36:05
【问题描述】:

我有一个日期,保存为字符串:

my_utc_date_str = "2019-09-15T20:42:15"

这是保存为 UTC 日期字符串

我的本​​地区域是:

America/Los_Angeles

我想得到的是:

2019-09-15 13:42:15

哪个是 UTC 日期,本地化为美国太平洋时区。

我尝试了 DateTime、Time 和 Date 的各种组合,但没有成功。在不更改会话的时区的情况下,有什么想法可以做到这一点?

【问题讨论】:

    标签: ruby-on-rails ruby


    【解决方案1】:
    Time.zone.parse("2019-09-15T20:42:15")
        .in_time_zone("America/Los_Angeles")
        .strftime("%Y-%m-%d %H:%M:%S")
    # => "2019-09-15 13:42:15"
    

    有关 Rubys 时间和日期对象的 ActiveSupport 扩展,请参阅 ActiveSupport::TimeWithZone,有关时区映射列表,请参阅 ActiveSupport::TimeZone

    但出于缓存原因,您应该考虑在客户端本地化日期和时间。

    【讨论】:

      猜你喜欢
      • 2021-04-19
      • 2020-03-21
      • 1970-01-01
      • 2011-06-13
      • 1970-01-01
      • 1970-01-01
      • 2012-07-02
      • 2018-05-22
      • 2011-02-12
      相关资源
      最近更新 更多