我想檢查當前時間是否在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. 紅寶石,數組時間的差距
它被認爲是好形式包括你寫的代碼,解釋你遇到的問題。如果不這樣做,聽起來好像你在沒有完成工作的情況下正在尋找答案。 –