アンケートを収集するプログラムを作成中のこと。
日時を入力する設問を作ってみた。
パラメータで年月日時分秒を渡して、Timeオブジェクトを作成する。
モデルクラスの中で日付の正当性チェックするために、ArgumentErrorをrescueして、引っかかったら再入力させるように実装。
テストで、誕生日を聞く設問を作って、自分の誕生日を入れてみると、ArgumentErrorが発生して再入力を促される。
ちなみに1969年の生まれなんだけど、1970以降を入れてみるとOK
むむ?と思ってirbを立ち上げて、Time.localで試しに1969年以前を作ろうとすると、同じくtime out of rangeが返ってくる。
どうやらエポックタイム以前を入力するとout of rangeが返ってくるらしい。
ちなみに環境はWindowsXP Home。rubyのバージョンは1.86。
試しにLinuxのirbでやってみると、こっちはエラーが返ってこない。
一寸調べてみるも、謎のまま。
まあ、本番環境なら問題ないならいいか、とこの問題は後回しにする。
DateTimeクラスなら大丈夫かと思ってやってみたらこっちは大丈夫。
DateTimeが推奨なのかしらん。
PR