2012-03-21 3 views
0

날짜 # 단계 방법이 있지만 단계가 필요한 날을 알고 있습니다. 주어진 날 (1440 항목)에 매분마다 범위 나 배열이 필요합니다.Ruby 1.9.3에서 하루에 1 분마다 범위 또는 배열을 얻으려면 어떻게해야합니까?

Ruby 1.9.3에서 가장 효과적이고 가장 효과적인 방법은 무엇입니까? 나는 출력 형식거야 궁극적으로

는 다음과 같이 사용할 수에게 :

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

23 시간 또는 25 시간이있는 날은 어떻게됩니까? – tadman

+0

예, 23 일과 25 시간을 보여줍니다. –

답변

1

이것은 당신이 시작할 수 있습니다

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

레일스 앱/ActiveSupport를 사용할 수 있다면 다음과 같이 할 수 있습니다 :'(1.day/60) x {{m | ...}' – rfunduk

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에서 변경된 것 같습니다. 또한 'ActiveSupport :: Duration' ('Date.today.step (Date.tomorrow, 30.minutes.seconds'))으로 싸인 스텝 파라메터를 주면, "예상 수치"TypeError로 폭발 할 것입니다 재미있는 시간에 1.9.3 업그레이드를 여기서 보스로 디버깅했습니다. – ches