Ruby:如何处理包含分钟的时区偏移

时间:2015-08-26 16:26:48

标签: ruby datetime

我创建了一个API端点,它接受一个名为time_zone的参数。我使用此参数来确定请求用户所在的时区。time_zone是一个应该是整数的utc偏移值。示例:MST的UTC偏移为-7。

这允许我在以下代码行中插入传递的time_zone

start_time = Time.now.in_time_zone(time_zone).beginning_of_day

当time_zone值像-7这样简单时,上述工作正常。但是,如果时区偏移包括分钟,我会遇到麻烦。示例:委内瑞拉是UTC-04:30。如果我传入'-430',我会得到ArgumentError: Invalid Timezone

我应该将什么值传递到`Time.now.in_time_zone()'以使我的示例工作?

感谢。

1 个答案:

答案 0 :(得分:0)

经过多次反复试验,我确定需要为包含分钟数的时区偏移量传递小数。

因此,为了解决我之前使用委内瑞拉(UTC-04:30)的例子,我可以简单地传递值-4.5,并且完美无缺。

同样,对于尼泊尔(UTC + 05:45),我会传递值5.75