time: 10:20
として、Rubyでパースすると、10*60+20 = 620 になってしまう。これを10:20として扱う方法のメモ
Stringとして書く
time: "10:20"
と書くと、"10:20"というStringになるので,Time.parse()を使ってTimeオブジェクトにパースできる。
が、いちいち""で囲むのがめんどうなのでこれはやりたくない。
あとで戻す
time: 10:20
と書くとFixnumになるので,
class Fixnum def to_time return Time.parse("#{self/60}:#{self%60}") end end
こんなかんじのを作っておくと、Timeにしたいところだけ個別にto_timeすれば、自然に扱うことが出来る。
時間的な扱いをしない場合は、return "#{self/60}:#{self%60}"してStringにするだけでも便利なはず。
個別にto_timeするのが気に入らないので、もっといい方法を探したい。