gpt4 book ai didi

ruby-on-rails - 如何在 Ruby on Rails 中更改区域偏移量一段时间?

转载 作者:数据小太阳 更新时间:2023-10-29 06:27:51 24 4
gpt4 key购买 nike

我有一个包含时间的变量 foo,比如说今天下午 4 点,但是时区偏移量是错误的,即它处于错误的时区。如何更改时区?

当我打印它时,我得到了

Fri Jun 26 07:00:00 UTC 2009

所以没有偏移量,我想将偏移量设置为 -4 或东部标准时间。

我希望能够将偏移量设置为 Time 对象的一个​​属性,但这似乎不可用?

最佳答案

你没有明确说明你是如何获得实际变量的,但既然你提到了 Time 类,所以我假设你有时间使用它,我会在我的回答中提到它

时区实际上是 Time 类的一部分(在您的情况下,时区显示为 UTC)。作为 Time.now 响应的一部分,Time.now 将返回 UTC 的偏移量。

>> local = Time.now
=> 2012-08-13 08:36:50 +0000
>> local.hour
=> 8
>> local.min
=> 36
>>


...在这种情况下,我恰好与格林威治标准时间处于同一时区

时区之间的转换

我发现的最简单的方法是使用“+/-HH:MM”格式将偏移量更改为 getlocal 方法。假设我想在都柏林时间和纽约时间之间进行转换

?> dublin = Time.now
=> 2012-08-13 08:36:50 +0000
>> new_york = dublin + Time.zone_offset('EST')
=> 2012-08-13 08:36:50 +0000
>> dublin.hour
=> 8
>> new_york.hour
=> 3

假设“EST”是纽约时区的名称,正如 Dan 指出的那样,“EDT”有时是正确的 TZ。

关于ruby-on-rails - 如何在 Ruby on Rails 中更改区域偏移量一段时间?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1048937/

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