Convert local time to UTC in Rails
在我的MySQL数据库中,updated_at字段存储为UTC。 上周美国东部时间晚上7点输入了一条记录,其update_at值为"2012-08-01 23:00:00"。 我正在尝试将Web客户端的本地时间转换为UTC,可以与数据库中的updated_at字段进行比较。
作为一个例子,我想将'08 / 01/2012 07:00 pm'转换为'2012-08-01 23:00:00'(占我在EDT),但我错过了时区 转换的方面。 '晚上7点'是当地时间,可以来自任何时区。 我目前的代码:
1 2 3 4 | ruby-1.9.2-head :015 > from_date = DateTime.strptime('08/01/2012 07:00 pm', '%m/%d/%Y %H:%M %p') => Wed, 01 Aug 2012 19:00:00 +0000 ruby-1.9.2-head :016 > from_date = Time.zone.parse(from_date.to_s).utc => 2012-08-01 19:00:00 UTC |
有什么想法吗?
编辑:另外,我可以在我的strptime调用中使用"%Z"但是假设我在值中有时区,我目前没有。 我想我可以使用Javascript将其与日期/时间值一起发送。
当地的utc
对当地人说
首先,我会检查您的时区设置。
在environment.rb(Rails 2)或application.rb(Rails 3)文件中,您可以使用以下命令设置默认时区:
其次,我会在这篇文章中查看有关满足您需求的信息和指导以及提示:
http://databasically.com/2010/10/22/what-time-is-it-or-handling-timezones-in-rails/