我想检查当前时间是否在10AM和10PM之间。我该如何做检查?红宝石时间比较
Q
红宝石时间比较
2
A
回答
5
您可以定义一个Range
并检查包含。
(10..22).include?(Time.new.hour)
# => true
您的代码将是
if (10..22).include?(Time.new.hour)
# do whatever you want
end
4
试着这么做:
time = Time.new
if time.hour >= 10 && time.hour < 22
// Your code
end
更多信息:http://www.tutorialspoint.com/ruby/ruby_date_time.htm
我从来没有使用Ruby语言,但如果你只是谷歌它,它会在你的第一个成绩1如何获得当前小时。
1
为什么不使用between?
?在
false
true
false
d1 = Time.new(2011,11,18,10)
d2 = Time.new(2011,11,18,22)
[
Time.new(2011,11,18,9),
Time.new(2011,11,18,12),
Time.new(2011,11,18,23),
].each{|d|
p d.between?(d1,d2)
}
结果作为替代,你必须创建从到时根据您的原料与材料:
[
Time.new(2011,11,18,9),
Time.new(2011,11,18,12),
Time.new(2011,11,18,23),
].each{|d|
d1 = Time.new(d.year,d.month,d.day,10)
d2 = Time.new(d.year,d.month,d.day,22)
p d.between?(d1,d2)
}
在此基础上,你可以扩展Time
:
class Time
def between_hours?(h1, h2)
d1 = Time.new(year,month,day,h1)
d2 = Time.new(year,month,day,h2)
self.between?(d1,d2)
end
end
[
Time.new(2011,11,18,9),
Time.new(2011,11,18,12),
Time.new(2011,11,18,23),
].each{|d|
p d.between_hours?(10,22)
}
0
刚刚添加该以供将来参考:(1.6.7的JRuby,红宝石1.9.2-P132)
require 'time'
require 'benchmark'
s= Time.parse("2012-04-12 11:00")
m= Time.parse("2012-04-12 11:30")
e= Time.parse("2012-04-12 12:00")
Benchmark.bm do |bm|
bm.report { 10_000.times{ (s..e).include?(m) } } # slow!
bm.report { 1_000_000.times{ (s..e).cover?(m) } }
bm.report { 1_000_000.times{ m.between?(s, e) } }
end
产量(AMD64 X4核心的archlinux)
user system total real 2.390000 0.000000 2.390000 ( 2.389000) 0.342000 0.000000 0.342000 ( 0.342000) 0.153000 0.000000 0.153000 ( 0.154000)
相关问题
- 1. 比较在红宝石
- 2. 比较红宝石哈希
- 3. 红宝石比较对象
- 4. 红宝石“枚举”比较
- 5. 红宝石比较日期
- 6. 比较失败 - 红宝石
- 7. solr查询与红宝石 - 需要比较日期时间
- 8. 最佳实践,在红宝石(不导轨)时间比较
- 9. 红宝石:字符串比较问题
- 10. 红宝石比较字符串
- 11. 比较两个值,并在红宝石
- 12. 比较2个散列红宝石
- 13. 红宝石测试逐行比较
- 14. 用于文本比较的红宝石
- 15. 红宝石多个阵列比较
- 16. 无法比较Fixnum和零红宝石
- 17. 红宝石:比较两个哈希
- 18. 红宝石比较2哈希
- 19. 比较JSON结构红宝石
- 20. 比较红宝石上的数据
- 21. 红宝石字符串比较:== VS ===
- 22. 红宝石邮件宝石正文比较
- 23. 的时间为红宝石
- 24. 时间解析红宝石
- 25. 红宝石持续时间
- 26. 红宝石的时间块
- 27. 红宝石比较两个字符串的相似百分比
- 28. 红宝石 - 岩石,纸。剪刀比赛
- 29. 红宝石宝石和红宝石之间的体系结构不匹配?
- 30. 红宝石,数组时间的差距
它被认为是好形式包括你写的代码,解释你遇到的问题。如果不这样做,听起来好像你在没有完成工作的情况下正在寻找答案。 –