Module

ActiveSupport::CoreExtensions::DateTime::Calculations

Inheritance

Enables the use of time calculations within DateTime itself

Classes & Modules

Methods

Instance

Visibility Signature
public advance (options)
public ago (seconds)
public at_beginning_of_day ()
public at_midnight ()
public beginning_of_day ()
public change (options)
public compare_with_coercion (other)
public end_of_day ()
public future? ()
public getutc ()
public in (seconds)
public midnight ()
public past? ()
public seconds_since_midnight ()
public since (seconds)
public utc ()
public utc? ()
public utc_offset ()

Instance Method Detail

advance(options)

Uses Date to provide precise Time calculations for years, months, and days. The options parameter takes a hash with any of these keys: :years, :months, :weeks, :days, :hours, :minutes, :seconds.

ago(seconds)

Returns a new DateTime representing the time a number of seconds ago Do not use this method in combination with x.months, use months_ago instead!

at_beginning_of_day()

Alias for beginning_of_day

at_midnight()

Alias for beginning_of_day

beginning_of_day()

Returns a new DateTime representing the start of the day (0:00)

change(options)

Returns a new DateTime where one or more of the elements have been changed according to the options parameter. The time options (hour, minute, sec) reset cascadingly, so if only the hour is passed, then minute and sec is set to 0. If the hour and minute is passed, then sec is set to 0.

compare_with_coercion(other)

Layers additional behavior on DateTime#<=> so that Time and ActiveSupport::TimeWithZone instances can be compared with a DateTime

end_of_day()

Returns a new DateTime representing the end of the day (23:59:59)

future?()

Tells whether the DateTime object‘s datetime lies in the future

getutc()

Alias for utc

in(seconds)

Alias for since

midnight()

Alias for beginning_of_day

past?()

Tells whether the DateTime object‘s datetime lies in the past

seconds_since_midnight()

Seconds since midnight: DateTime.now.seconds_since_midnight

since(seconds)

Returns a new DateTime representing the time a number of seconds since the instance time Do not use this method in combination with x.months, use months_since instead!

utc()

Adjusts DateTime to UTC by adding its offset value; offset is set to 0

Example:

  DateTime.civil(2005, 2, 21, 10, 11, 12, Rational(-6, 24))       # => Mon, 21 Feb 2005 10:11:12 -0600
  DateTime.civil(2005, 2, 21, 10, 11, 12, Rational(-6, 24)).utc   # => Mon, 21 Feb 2005 16:11:12 +0000

utc?()

Returns true if offset == 0

utc_offset()

Returns the offset value in seconds