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
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
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
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
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