在我的Rails应用中,我将数据库中的date
与Time.now
进行比较:
Event.date_start >= Time.now
但Event.date_start
是ActiveSupport::TimeWithZone
一切都很完美,但我想知道将Time
与TimeWithZone
进行比较是否正确,如果不是这样,那该怎么做?
答案 0 :(得分:3)
Time.now
也适用于TimeZone
。看看这个:
Time.zone.now
#=> Mon, 12 Sep 2016 16:51:54 UTC +00:00
ExampleModel.date_start
#=> Tue, 28 Jun 2016 12:39:26 UTC +00:00
Time.zone
#=> #<ActiveSupport::TimeZone:0x0055de104e3ce0 @name="UTC", @utc_offset=nil, @tzinfo=#<TZInfo::TimezoneProxy: Etc/UTC>, @current_period=#<TZInfo::TimezonePeriod: nil,nil,#<TZInfo::TimezoneOffset: 0,0,UTC>>>>
你可以不受限制地比较它:)
答案 1 :(得分:3)
最佳做法是不在Rails应用中使用execute
。请改用ScheduledThreadPoolExecutor
。它也会返回Time.now
。