在我的Rails 3.2应用程序中,我需要创建一个if
条件来检查今天日期的日期范围。具体如下:
current_date = Date.today
# if current_date is between 2013-08-01..2013-08-15
# return 1
# elsif current_date is between 2013-08-16..2013-08-30
# return 2
# end
答案 0 :(得分:2)
您的伪代码几乎拥有它,您可以使用#cover
编写以下内容:
def date_range(date)
if (Date.new(2013, 8, 1) .. Date.new(2013, 8, 15)).cover?(date)
1
elsif (Date.new(2013, 8, 16) .. Date.new(2013, 8, 30)).cover?(date)
2
end
end
答案 1 :(得分:0)
您可以使用Comparable#between?
:
if current_date.between? Date.new(2013, 8, 1), Date.new(2013, 8, 15)
1
elsif current_date.between? Date.new(2013, 8, 16), Date.new(2013, 8, 30)
2
end
或日期范围:(请参阅Range#===
)
case current_date
when Date.new(2013, 8, 1)..Date.new(2013, 8, 15)
1
when Date.new(2013, 8, 16)..Date.new(2013, 8, 30)
2
end