我是新来Ruby的。我正在练习在假Airbnb上预订假期,但我想检查房间日期(Start_Date-End_Date)中是否有我想要的日期(假期开始日期至假期结束日期),但我似乎无法比较日期范围或将日期转换为范围。有没有更好的检查方法?谢谢
require 'date'
start_of_holiday = Date.parse("2022-10-02").strftime('%Y-%m-%d')
end_of_holiday = Date.parse("2022-10-05").strftime('%Y-%m-%d')
start_date = '2022-10-01'
end_date = '2022-10-11'
print true if (start_of_holiday..end_of_holiday).include?(start_date..end_date)
1条答案
按热度按时间r3i60tvu1#
问题是您正在向
include?
传递一个范围,在本例中将返回FALSE,因为整个范围(start_date..end_date)
不在(start_of_holiday..end_of_holiday)
中。来自文件;
包括?(Obj)→真或假
如果obj是该范围的元素,则返回True,否则返回False。
您只需调整它以检查
start_of_holiday
和end_of_holiday