如果没有时区的时间和当前用户在RoR中的时区,我如何转换回UTC?

时间:2012-05-02 21:17:28

标签: ruby-on-rails ruby

假设我在数据库中将日期存储为UTC,并且我想向用户显示日期时间,然后他们可以编辑它们。存储此日期时间后,需要将其转换回UTC。当向用户显示时,不给出时区信息。

我需要的是.in_time_zone的“逆”,例如.from_time.zone。

将没有时区的日期时间以及已知时区转换为UTC日期时间(时间戳)的最佳做法是什么?

1 个答案:

答案 0 :(得分:0)

utc()

通过添加其偏移值将DateTime调整为UTC; offset设置为0

datetime = DateTime.now
 => Thu, 03 May 2012 00:34:42 +0300
datetime_utc = datetime.utc
 => Wed, 02 May 2012 21:34:42 +0000
datetime_utc.in_time_zone('Minsk').to_datetime
 => Thu, 03 May 2012 00:34:42 +0300