ruby-on-rails – 在Ruby或Rails中,将东部时间转换为UTC的最佳方
我不是指
myDateTime = DateTime.now myDateTime.new_offset(Rational(0,24)) 要么 Time.now.utc 我所拥有的是东部时间的文本日期. 我可以将该文本日期转换为DateTime.我们称之为east_date_time. 现在,我们有一个包含DateTime的变量,但除了我们之外什么都不知道它是东方的.自己转换它将是非常繁重的.如果夏令时(DST)(今年3月8日至11月1日)的日期,我们必须在我们的east_date_time var中添加4小时才能获得UTC,如果日期是标准时间(ST),我们将必须在我们的east_date_time变量中添加5个小时. 我们如何指定我们拥有的是东日期时间,然后将其转换为UTC …这将确定日期是否在DST / ST中,并正确应用4或5小时? 我希望将我进入UTC的任何日期转换为存储在我的数据库中. 编辑: 使用`in_time_zone’,我无法将东方文本时间转换为UTC.我怎样才能实现这一目标?例如… text_time = "Nov 27,2015 4:30 PM" #given as Eastern myEasternDateTime = DateTime.parse text_time # => Fri,27 Nov 2015 16:30:00 +0000 #now we need to specify that this myEasternDateTime is in fact eastern. However,it's our default UTC. If we use in_time_zone,it just converts the date at UTC to Eastern myEasternDateTime.in_time_zone('Eastern Time (US & Canada)') # => Fri,27 Nov 2015 11:30:00 EST -05:00 myEasternDateTime.utc # => Fri,27 Nov 2015 16:30:00 +0000 那不是我们想要的.我们必须指定myEasterDateTime实际上是东部…所以当我们在16:30:00进行myEasterDateTime.utc时,我们最终得到20:30:00. 我怎么能做到这一点? 解决方法
有一个
time_in_zone method in the DateTime class:
now.time_in_zone('UTC') 从那以后一直是renamed to DateTime.now.in_time_zone('US/Pacific') => Wed,22 Apr 2015 12:36:33 PDT -07:00 (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |