class DateTime

Constants

MAX_PRECISION

Public Class Methods

civil(y=nil, m=nil, d=nil, h=nil, min=nil, s=nil, of=0, sg=DateTime::ITALY) click to toggle source
# File lib/date_time_precision/patch/1.8.7/date_time.rb, line 13
def civil(y=nil, m=nil, d=nil, h=nil, min=nil, s=nil, of=0, sg=DateTime::ITALY)
  time_args = [y,m,d,h,min,s]
  precision = self.precision(time_args)
  time_args = normalize_new_args(time_args)

  unless (jd = valid_civil?(time_args[0], time_args[1], time_args[2], sg)) && (fr = valid_time?(time_args[3], time_args[4], time_args[5]))
    raise ArgumentError, 'invalid date'
  end
  if String === of
    of = Rational(zone_to_diff(of) || 0, 86400)
  end
  dt = new!(jd_to_ajd(jd, fr, of), of, sg)
  dt.precision = precision
  dt.attributes_set(y,m,d,h,min,s)
  dt
end
Also aliased as: new, new, civil_orig
civil_orig(y=nil, m=nil, d=nil, h=nil, min=nil, s=nil, of=0, sg=DateTime::ITALY)
Alias for: civil
local(*args) click to toggle source
# File lib/date_time_precision/patch/1.8.7/date_time.rb, line 44
def local(*args)
  Time.local(*args).to_datetime
end
new(y=nil, m=nil, d=nil, h=nil, min=nil, s=nil, of=0, sg=DateTime::ITALY)
Also aliased as: new_orig
Alias for: civil
new_orig(y=nil, m=nil, d=nil, h=nil, min=nil, s=nil, of=0, sg=DateTime::ITALY)
Alias for: new
parse(str='-4712-01-01T00:00:00+00:00', comp=false, sg=DateTime::ITALY) click to toggle source
# File lib/date_time_precision/patch/1.8.7/date_time.rb, line 5
def parse(str='-4712-01-01T00:00:00+00:00', comp=false, sg=DateTime::ITALY)
  elem = _parse(str, comp)
  precision = DateTimePrecision::precision(elem)
  dt = new_by_frags(elem, sg)
  dt.precision = precision
  dt
end
Also aliased as: parse_orig
parse_orig(str='-4712-01-01T00:00:00+00:00', comp=false, sg=DateTime::ITALY)
Alias for: parse
strptime(str='-4712-01-01', fmt='%F', sg=DateTime::ITALY) click to toggle source
# File lib/date_time_precision/patch/1.8.7/date_time.rb, line 32
def strptime(str='-4712-01-01', fmt='%F', sg=DateTime::ITALY)
  elem = _strptime(str, fmt)
  precision = DateTimePrecision::precision(elem)
  d = new_by_frags(elem, sg)
  d.precision = precision
  d
end
Also aliased as: strptime_orig
strptime_orig(str='-4712-01-01', fmt='%F', sg=DateTime::ITALY)
Alias for: strptime
utc(*args) click to toggle source
# File lib/date_time_precision/patch/1.8.7/date_time.rb, line 40
def utc(*args)
  Time.utc(*args).to_datetime
end

Public Instance Methods

usec() click to toggle source
# File lib/date_time_precision/patch/common/date_time.rb, line 18
def usec
  (sec_fraction.to_f*1_000_000).to_i
end
utc() click to toggle source
# File lib/date_time_precision/patch/common/date_time.rb, line 25
def utc
  dt = utc_orig
  dt.precision = precision
  dt
end