gpt4 book ai didi

ruby-on-rails - 从时区、日期和时间创建时间对象?

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

我很尴尬(也很震惊)我在 SO 或谷歌上找不到一个好的答案,如果有的话请随时指点我一个 dup,但是......

我想要一个像这样工作的函数(理想情况下是纯 ruby​​,但 active_support 解决方案也可以):

输入:一些合理格式的日期时间字符串(例如,2016-12-25 12:00)和一个时区。 不是偏移量,而是时区,例如 America/ChicagoAmerica/New_York)。例如,

make_time_in_zone('2016-12-25 12:00', 'America/Chicago')

输出:TimeDateTime 对象,代表那个确切的时间点。也就是说,该函数应该使用时区来考虑偏移量和夏令时调整,这样您就可以知道,例如,美国/芝加哥圣诞节中午时的 UTC 时间.

我知道我可以将时区设置为所需的时间,创建 Time 对象,然后将时区设置回系统时间,但我认为这是一个 Not Acceptable 解决方案,并且希望实际支持此用例的功能。

最佳答案

只需使用 in_time_zone解析时区中的日期。您可以将时区作为参数传递。

in_time_zone(zone = ::Time.zone)

这将返回您想要的内容。

'2016-12-25 12:00'.in_time_zone('America/Chicago')
#=> Sun, 25 Dec 2016 12:00:00 CST -06:00

'2016-12-25 12:00'.in_time_zone('America/New_York')
#=> Sun, 25 Dec 2016 12:00:00 EST -05:00

关于ruby-on-rails - 从时区、日期和时间创建时间对象?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40713275/

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