Ruby:如何检查日期和时间是否在范围内

4
我正在尝试创建一种方法来确定特定日期和时间(在某个特定时区内)是否在一个范围内。
range = between(start_time, end_time) 

start_time = "date time timezone"
end_time = "date time timezone"

下面是一个范例,展示了"range"输入框的外观:
range => between("2013-12-25 04:45:00 -0800", "2015-12-25 5:00:01 -0800")

我想返回真或假,如果一个特定的日期和时间在这个范围内。
例如,特定日期:
instance = "2014-01-01 16:35:45 -0800"

instance.between("2013-12-25 04:45:00 -0800", "2015-12-25 5:00:01 -0800")

我在 Ruby 中没有太多时间方面的经验。任何建议都将不胜感激。
1个回答

12
require "date" 
instance = DateTime.parse("2014-01-01 16:35:45 -0800")
d1       = DateTime.parse("2013-12-25 04:45:00 -0800")
d2       = DateTime.parse("2015-12-25 5:00:01 -0800")
p instance.between?( d1, d2 ) # => true

正是我所需要的。谢谢你。我不知道如何使用解析。 - morrime
为了保险起见,使用DateTime::strptimeinstance = DateTime.strptime("2014-01-01 16:35:45 -0800", '%Y-%m-%d %H:%M:%S%:z')等。 - Cary Swoveland

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接