class Time
# Returns Time.zone.now when Time.zone or config.time_zone are set, otherwise just returns Time.now.
def self.current: () -> ActiveSupport::TimeWithZone # strictly `(ActiveSupport::TimeWithZone | Time)` but it's inconvenient
def self.zone: () -> ActiveSupport::TimeZone # strictly `ActiveSupport::TimeWithZone?` but it's inconvenient
def ago: (untyped other) -> self
def advance: (untyped options) -> self
def change: (untyped options) -> self
def in_time_zone: (?(ActiveSupport::TimeZone | String) new_zone) -> ::ActiveSupport::TimeWithZone
| (false? zone) -> ::Time
def +: (ActiveSupport::Duration other) -> self
| ...
def -: (ActiveSupport::Duration other) -> self
| ...
def beginning_of_day: () -> self
def beginning_of_hour: () -> self
def beginning_of_minute: () -> self
def compare_with_coercion: (untyped other) -> (-1 | 0 | 1 | nil)
def compare_without_coercion: (untyped other) -> (-1 | 0 | 1 | nil)
def end_of_day: () -> self
def end_of_hour: () -> self
def end_of_minute: () -> self
def eql_with_coercion: (untyped other) -> bool
def eql_without_coercion: (untyped other) -> bool
def middle_of_day: () -> self
def minus_with_coercion: (Time | self arg0) -> Float
| (Numeric arg0) -> self
def minus_with_duration: (Time | self arg0) -> Float
| (Numeric arg0) -> self
def minus_without_coercion: (Time | self arg0) -> Float
| (Numeric arg0) -> self
def minus_without_duration: (Time | self arg0) -> Float
| (Numeric arg0) -> self
def next_day: () -> self
def next_month: () -> self
def next_year: () -> self
def plus_without_duration: (Time | self arg0) -> Float
| (Numeric arg0) -> self
def prev_day: () -> self
def prev_month: () -> self
def prev_year: () -> self
def seconds_since_midnight: () -> Float
def seconds_until_end_of_day: () -> Integer
def sec_fraction: () -> (Integer | Rational)
def to_default_s: () -> String
end