2012-11-08 30 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'加载它。