我试图将用户选择的开始日期和结束日期与当前时间进行比较,以防止用户选择过去的时间。它的工作原理除非你必须提前4小时选择一个时间,以便通过验证。Rails datetime_select在UTC发布我的当前时间
查看:
datetime_select(:start_date, ampm: true)
控制器:
if self.start_date < DateTime.now || self.end_date < DateTime.now
errors.add(:date, 'can not be in the past.')
end
self.start_date
将返回我的当前时间,但在UTC这是不对的。 DateTime.now
正在返回当前时间,但偏移量为-0400,这是正确的。
实施例:
我的当前时间是2013年10月3日09:00:00.000000000 -04:00
self.start_date是2013年10月3日09:00:00.000000000ž
DateTime.now是2013-10-03 09:00:00.000000000 -04:00
为什么会发生这种情况,最好的解决方法是什么?