本文介绍了使Rails在显示日期时忽略夏令时的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
我的Rails应用中存储了UTC的日期,并尝试将其显示给具有 c> cst =nofollow> dst?以检查传递的时区当前是否处于DST。如果是,则从提供的 DateTime 实例中减去一个小时:
Create a helper that utilizes the dst? method on TimeZone to check whether the passed timezone is currently in DST. If it is, then subtract an hour from the supplied DateTime instance:
# helper function module TimeConversion def no_dst(datetime, timezone) Time.zone = timezone if Time.zone.now.dst? return datetime - 1.hour end return datetime end end
然后,在您的视图中渲染调整(或未调整)的时间:
Then, render the adjusted (or non-adjusted) time in your view:
# in your view <%= no_dst(DateTime.parse("2013-08-26T00:00:00Z"), 'Eastern Time (US & Canada)') %> #=> Sun, 25 Aug 2013 19:00:00 EDT -04:00
这篇关于使Rails在显示日期时忽略夏令时的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!