2014年8月9日土曜日

Rubyでランダムな日付を作成


テストなどで,ランダムな日付を作る必要がある時もあると思います.
最初は
  • ランダムな年,ランダムな月…をrand関数で作る
  • それらを文字列化,適当に連結
  • Date.parseでDateオブジェクトに返還
で良いかなぁとも思ったのですが(例えば Rubyで「ランダムに日付取得」 ),.

例えば司馬遼太郎さんが生きている間(1923年8月7日 - 1996年2月12日)のランダムな日を選ぶ時には
require "date"
s1 = Date.parse("1923/08/07")
s2 = Date.parse("1996/02/12")
s = Random.rand(s1 .. s2)

得られたsはDateオブジェクトで,司馬遼太郎さんの過ごした人生の一日が入っているはずです.


割とどうでもいいですが,遠藤周作(1923年3月27日 - 1996年9月29日)と司馬遼太郎は生年・没年ともに同じなんですね.

0 件のコメント:

コメントを投稿