代码之家  ›  专栏  ›  技术社区  ›  kg.

分析包含GMT的时区名称字符串

  •  0
  • kg.  · 技术社区  · 7 年前

    我确实找到了 this question 但我仍在为以下问题寻找一个简单的解决方案:

    API调用返回如下格式,看起来它们正在使用 Time.zone.to_s

    irb> ShopifyAPI::Shop.current.timezone
    => "(GMT-08:00) Pacific Time (US & Canada)"
    

    我想解析 "(GMT-08:00) Pacific Time (US & Canada)" "Pacific Time (US & Canada)"

    "(GMT-08:00)" 偏移量,并留下一个干净的时区名称 “太平洋时间(US&加拿大)

    0 回复  |  直到 6 年前
        1
  •  2
  •   Matt Johnson-Pint    7 年前

    ShopifyAPI::Shop.current 返回属性 documented here . 对, timezone

    相反,使用 iana_timezone 财产,这将给你 IANA time zone identifier ,例如 America/Los_Angeles . 它们与Rails以及Ruby的tzinfo-gem兼容,并且也用于许多其他平台。

    irb> ShopifyAPI::Shop.current.timezone
    => "(GMT-08:00) Pacific Time (US & Canada)"
    
    irb> ShopifyAPI::Shop.current.iana_timezone
    => "America/Los_Angeles"
    

    如果你想从那里得到一个Rails时区,你可以使用 MAPPING 中定义的常量 ActiveSupport::TimeZone . 如果可能的话,我会避免的,因为 the timezone tag wiki 在底部的“Rails时区标识符”部分。

        2
  •  1
  •   Md. Farhan Memon Ovesh    7 年前

    如果您对将要接收的API和字符串格式有信心,那么可以根据需要操作字符串

    string.partition(')').last.strip
    # => Pacific Time (US & Canada)
    
    推荐文章