class

ActiveSupport::Duration

v7.2.3 - Show latest stable - Superclass: BasicObject

Active Support Duration

Provides accurate date and time measurements using Date#advance and Time#advance, respectively. It mainly supports the methods on Numeric.

1.month.ago       # equivalent to Time.now.advance(months: -1)

Constants

PARTS = [:years, :months, :weeks, :days, :hours, :minutes, :seconds].freeze

PARTS_IN_SECONDS = {\nseconds: 1,\nminutes: SECONDS_PER_MINUTE,\nhours: SECONDS_PER_HOUR,\ndays: SECONDS_PER_DAY,\nweeks: SECONDS_PER_WEEK,\nmonths: SECONDS_PER_MONTH,\nyears: SECONDS_PER_YEAR\n}.freeze

SECONDS_PER_DAY = 86400

SECONDS_PER_HOUR = 3600

SECONDS_PER_MINUTE = 60

SECONDS_PER_MONTH = 2629746

SECONDS_PER_WEEK = 604800

SECONDS_PER_YEAR = 31556952

VARIABLE_PARTS = [:years, :months, :weeks, :days].freeze

Attributes

[R]value

Files

  • activesupport/lib/active_support/duration.rb
  • activesupport/lib/active_support/duration/iso8601_parser.rb
  • activesupport/lib/active_support/duration/iso8601_serializer.rb