Rails将Time与TimeWithZone进行比较

时间:2016-09-12 16:43:57

标签: ruby-on-rails date time

在我的Rails应用中,我将数据库中的dateTime.now进行比较:

Event.date_start >= Time.now

Event.date_startActiveSupport::TimeWithZone

一切都很完美,但我想知道将TimeTimeWithZone进行比较是否正确,如果不是这样,那该怎么做?

2 个答案:

答案 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