Rubyの時間の扱い
時間を表すクラスにはDateとTimeとDateTimeクラスがあって、Dateクラスは日付、Timeクラスは時間、DateTimeクラスは日付と時間をそれぞれ扱います。
時間を表示する
最初1つずつフォーマットごとに切り出して連結していたのですが、strftimeという便利なメソッドがありました。
date_time = Time.now => 2016-05-02 06:58:51 +0900 date_time.year.to_s + "/" + date_time.month.to_s + '/' + date_time.day.to_s + '/' + " " + date_time.hour.to_s + ":" + date_time.min.to_s => "2016/5/2/ 6:58" date_time.strftime("%Y/%m/%d %H:%M") => "2016/05/02 06:58"
文字列を時間に変換する
文字列を時間に変換するにはどうすればいいかと思っていたらparseメソッドが用意されていました。流石です。
date_time = "2016/05/01 00:00" DateTime.parse(date_time.gsub("/","-")) => #<DateTime: 2016-05-01T00:00:00+00:00 ((2457510j,0s,0n),+0s,2299161j)>