[Rails5] ActiveSupport::Durationの期間処理メソッド(2)変換

こんにちは、hachi8833です。 Active Support探訪シリーズは前回「[Rails5] ActiveSupport::Durationの期間処理メソッド(1)演算、比較など」の続きです。 今回のメソッド ActiveSupport::Durationは日付や時刻による期間(時点と時点の間の大きさ)を表現するライブラリです。 メソッド: ActiveSupport::Duration以下のメソッド ディレクトリ配置: https://github.com/rails/rails/blob/5-0-stable/activesupport/lib/active_support/duration.rb 歴史: Rails 2.0より導入 以下もご覧ください。 [Rails5] ActiveSupport::Durationの期間処理メソッド(1)演算、比較など 週刊Railsウォッチ: Railsで月と年を含む期間の扱いを修正 週刊Railsウォッチ: ISO 8601ベースのActiveSupport::Duration 条件 Railsバージョン: 5-0-stable Rubyバージョン: 2.4.0 変換系 ISO8601関連 メソッド 説明 #parse ISO8601形式の文字列からDurationオブジェクトを作成する #iso8601 DurationオブジェクトをISO8601形式の文字列に変換する(precisition:で精度のフォーマットを指定できる) 2つのメソッドは互いに逆変換になっています。 使い方はテストコードを見るのが早いです。 ActiveSupport::Duration.parse(“P1Y1MT8.55S”) #=> 1 year, 1 month, and 8.55 seconds aa.class #=> ActiveSupport::Duration aa.iso8601 precision: 3 #=> “P1Y1MT8.550S” 参考: Wikipedia: … Continue reading [Rails5] ActiveSupport::Durationの期間処理メソッド(2)変換