我的主要问题是你怎么写“3年/5年”我有的日期是到期日期。我想知道这个日期是不是在3到5岁之间。希望这个问题有意义**:)**
if expiry_date > 3 years && expiry_date < 5 years
expiry_date只是Date格式
expiry_date
Date
xxls0lw81#
只有Ruby(所以没有ActiveSupport):
require 'date' today = Date.today a_date = Date.new(2019,1,1) p a_date.between?(today.prev_year(5), today.prev_year(3)) # => true
4szc88ey2#
你可以用Ruby封面吗?使用ActiveSupport GEM验证范围的方法:
require "active_support/core_ext/integer/time" (5.years.ago..3.years.ago).cover?(expiry_date)
lf5gs5x23#
使用ActiveSupport gem,不包括Begin和End
require "active_support/core_ext/integer/time" expiry_date < 3.years.ago && expiry_date > 5.years.ago
如果需要包括此范围的开始和结束
(5.years.ago..3.years.ago).include?(expiry_date) expiry_date.between?(5.years.ago, 3.years.ago)
ActiveSupport中也有in?方法
in?
expiry_date.in?(5.years.ago..3.years.ago)
3条答案
按热度按时间xxls0lw81#
只有Ruby(所以没有ActiveSupport):
4szc88ey2#
你可以用Ruby封面吗?使用ActiveSupport GEM验证范围的方法:
lf5gs5x23#
使用ActiveSupport gem,不包括Begin和End
如果需要包括此范围的开始和结束
ActiveSupport中也有
in?
方法