在我的
MySQL数据库中,updated_at字段被存储为UTC.上周在美东时间晚上7点进入记录,更新时间为“2012-08-01 23:00:00”.我正在尝试将Web客户端的本地时间转换为UTC,可以与数据库中的updated_at字段进行比较.
例如,我想将’08/01/2012 07:00 pm’转换为“2012-08-01 23:00:00”(占我在EDT),但我错过了时区方面转换. ‘7:00 pm’是当地时间,可以来自任何时区.我当前的代码:
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
created_at.utc
utc到当地
created_at.localtime