2013-05-25 58 views
1

如何:遍歷每行標記時間的錶行。第一行是開始時間,最後一行是結束時間,迭代應該以15分鐘間隔創建每行。如何在15分鐘的時間間隔內迭代開始和結束時間

START_TIME:'06:00' ,END_TIME:'07:00'

六時00

6時15

6點半

06 :45

07:00

更新

start_time = Time.local(2013, 5, 25, 06, 00) 
    end_time = Time.local(2013, 5, 25, 20, 00) 

    begin 
    start_time += 15.minutes 
    puts start_time 
    end while start_time < end_time 

這將返回零......但是,不應該......應該返回值

回答

0

我不知道如果我理解這個問題的權利,但這裏有一個例子如何生成在15分鐘的時間intervalls

1.9.3p392 :029 > a = Time.now 
=> 2013-05-25 23:39:44 +0200 
1.9.3p392 :030 > a = a - a.sec - a.min%15*60 
=> 2013-05-25 23:30:00 +0200 
1.9.3p392 :031 > b = a + 1.hour 
=> 2013-05-26 00:30:00 +0200 
1.9.3p392 :032 > begin 
1.9.3p392 :033 >  a += 15.minutes 
1.9.3p392 :034?> puts a 
1.9.3p392 :035?> end while a < b 
2013-05-25 23:45:00 +0200 
2013-05-26 00:00:00 +0200 
2013-05-26 00:15:00 +0200 
2013-05-26 00:30:00 +0200 

也許這有點幫助

+0

我添加了一些基於jethroo建議的新代碼 – hellion

1

這裏是我想出了不正是我需要的。受到jethroos的啓發回答。

def cal_times 

start_time = Time.local(2013, 5, 25, 06, 00) 
    end_time = Time.local(2013, 5, 25, 20, 00) 
    times = [start_time.strftime('%H:%M')] 

    begin 
    start_time += 15.minutes 
    times << start_time.strftime('%H:%M') 
    end while start_time < end_time 

    times 

end 
相關問題