2012-11-08 53 views
-1

可能重複:
how to iterating days如何使軌道上的循環日紅寶石?

我有一個代碼,循環days.this使葉子。我希望列出登錄和註冊出席將在startdate自動填充開始並在enddate結束。

**exp I input :** 
startdate: 2012-11-08 01:30:00 
enddate: 2012-11-10 01:30:00 
**i want output like this:** 

2012-11-08 01:30:00 
2012-11-09 01:30:00 
2012-11-010 01:30:00 

for i in 0..((@leafe.enddate - @leafe.startdate).to_i) 
       @attendance = Attendance.new 

       @attendance.signin = '2012-11-08 01:30:00' #value must change automatically 
       @attendance.signout = '2012-11-08 10:30:00'#value must change automatically 
       @attendance.user_id = @leafe.user_id 
       @attendance.save 
      end 

的回答我說感謝

+4

不要爲完全相同的問題創建新帖子。編輯你的舊的。 – sunnyrjuneja

+0

我們可以合併嗎? – aef

回答

1

我真的理解你的問題說明問題。我只是猜測你想迭代一系列的日期。

start_date = Date.new(2012, 11, 8) 
end_date = Date.new(2012, 11, 23) 

(start_date .. end_date).each do |date| 
    … 
    # Do something with date here 
    … 
end 

請注意,我在這裏使用Date類。您可能需要先使用require 'date'加載它。你應該嘗試使用代表你正在使用的東西的特定類。在日期中使用IntegerString可以避免在像Ruby這樣的完全面向對象的語言中使用許多功能強大的特定功能Date

因爲你不只有一個日期作爲輸入,但一個完整的ISO-8601時間規範,你可能想使用這樣的事情只提取Date對象:

Time.parse('2012-11-20 12:30:45').to_date 

在這裏,您可能需要通過使用require 'time'加載它。