指定した期間内から、ランダムで一日を選択する

randを使ってある期間(1940〜1980とか)をランダムに返すにはどうしたらいいんだぁあぁあぁあぁあ

http://d.hatena.ne.jp/ayabaud/20070704/1183527974

を読んで、別のことを考えました。
指定した期間内から、ランダムで一日を選択する方法。全期間分のDataオブジェクトを作るから賢くないけれどね。

from = Date.parse("1940-01-01")
to = Date.parse("1980-12-31")
dates = (from..to).to_a
puts dates[rand(dates.size)]

オブジェクトを作らなければよいのか。

from = Date.parse("1940-01-01")
to = Date.parse("1980-12-31")
days = to - from + 1
puts from + rand(days)