-1

Possible Duplicate:
how to iterating days

I have a code for looping days.this to make leaves. I want column signin and signout on attendance will filling automatically start at startdate and end at 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

for your answer i say thanks

4

1 に答える 1

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'。作業中のものを表す特定のクラスを使用するようにしてください。日付にIntegerまたはを使用すると、Ruby のような完全なオブジェクト指向言語で多くの強力な特定の機能が回避されます。StringDate

入力として日付があるだけでなく、完全な ISO-8601 時間仕様があるため、おそらく次のようなものを使用して Date オブジェクトのみを抽出する必要があります。

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

ここでは、 を使用してロードする必要がある場合がありますrequire 'time'

于 2012-11-08T06:24:23.887 に答える