首页 > 解决方案 > 在 Rails 中,我使用的是 DateTime.current.in_time_zone(user's timezone")。我真的需要在最后添加 utc 吗?

问题描述

在 Rails 中,我使用的是 DateTime.current.in_time_zone(user's timezone")。我真的需要在最后添加 utc 吗?

我的代码看起来像这样: DateTime.current.in_time_zone("America/Los_Angeles").beginning_of_week

这是正确的还是我需要如下:DateTime.current.in_time_zone("America/Los_Angeles").beginning_of_week。世界标准时间

标签: ruby-on-railsdatetimeutc

解决方案


这取决于你想对日期做什么。最后使用.utc将返回所选时区的时间,转换为UTC时区,而没有的版本.utc将返回所选时区的时间。

irb(main):001:0> DateTime.current.in_time_zone("America/Los_Angeles").beginning_of_week
Mon, 04 May 2020 00:00:00 PDT -07:00
irb(main):002:0> DateTime.current.in_time_zone("America/Los_Angeles").beginning_of_week.utc
2020-05-04 07:00:00 UTC

如果您想向该时区的用户显示该日期,您可能需要不带.utc.


推荐阅读