gpt4 book ai didi

ruby-on-rails - 解析包含 GMT 偏移时间的时区名称字符串

转载 作者:太空宇宙 更新时间:2023-11-03 18:03:28 25 4
gpt4 key购买 nike

我确实找到了 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)" 解析为 Ruby 类并输出时区名称 "Pacific Time (US & Canada)加拿大)”

或者,我可以去掉 "(GMT-08:00)" 偏移量,留下一个干净的时区名称 "Pacific Time (US & Canada)"但这似乎是一个困惑的字符串编辑解决方案。

最佳答案

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 时区,可以使用 ActiveSupport::TimeZone 中定义的 MAPPING 常量.尽管我会尽可能避免,但出于 the timezone tag wiki 中提到的原因在底部的“Rails 时区标识符”部分。

关于ruby-on-rails - 解析包含 GMT 偏移时间的时区名称字符串,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55817454/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com