2012-03-21 24 views
0

我知道有日期#步驟的方法,但它需要幾天的步驟。我需要給定日期的每一分鐘的範圍或陣列(1440個條目)。如何在Ruby 1.9.3中每天的每分鐘獲取一個範圍或數組?

什麼是最好的,最有效的方式在Ruby 1.9.3中做到這一點?

最後,我要格式化輸出使用這樣的:

00:00:00 
00:01:00 
00:02:00 
... 
23:59:00 
+1

23小時或25小時的日子呢? – tadman 2012-03-21 15:53:03

+0

是的,顯示23和25小時的日子有些人也是。 – 2012-03-21 18:56:59

回答

1

這可能讓你開始:

0.upto((60 * 24) - 1).each { |m| puts "%02d:%02d:00" % [m/60, m % 60] } 
+0

如果你在一個Rails應用程序/有ActiveSupport可用,你可能更喜歡:'(1.day/60).times {| m | ...}' – rfunduk 2012-03-21 15:52:39

0

你可以一步一步反正:

require 'date' 
today = Date.today.to_datetime 
tomorrow = today+1 
min = 1.0/(24*60) 
today.step(tomorrow, min){|d| p d.strftime("%H:%M:%S")} 
+0

謝謝。看起來,1.9.3中的'Date#step'更改爲期望step參數在幾天之內,它用於期望秒。如果你給它一個由'ActiveSupport :: Duration'('Date.today.step(Date.tomorrow,30.minutes.seconds')封裝的步驟參數,它將會爆發一個「期望的數字」TypeError '。趣味時代在這裏調試1.9.3升級老闆。 – ches 2013-02-12 15:42:15

相關問題