在我的 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
在我的 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
您的伪代码几乎拥有它,您可以使用以下代码编写以下内容#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
您可以使用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