How can I check for inclusion of a datetime in a range in Rails? -
using ruby's range#include? datetime range throws exception:
> (time.zone.now.beginning_of_day..time.zone.now.end_of_day).include?(time.zone.now) typeerror: can't iterate activesupport::timewithzone while using rails' range#overlaps? works:
> (time.zone.now.beginning_of_day..time.zone.now.end_of_day).overlaps?(time.zone.now..time.zone.now) => true i dislike fact have create single-element range check inclusion using overlaps? there way use include? datetime range in rails?
aha!
how this?
time.zone.now.between?(time.zone.now.beginning_of_day,time.zone.now.end_of_day) result:
2.3.0 :001 > time.zone.now.between?(time.zone.now.beginning_of_day,time.zone.tomorrow.end_of_day) => true 2.3.0 :002 > time.zone.tomorrow.between?(time.zone.now.beginning_of_day,time.zone.now.end_of_day) => false 2.3.0 :003 > time.zone.yesterday.between?(time.zone.now.beginning_of_day,time.zone.now.end_of_day) reference: http://apidock.com/rails/activesupport/timewithzone/between%3f
Comments
Post a Comment