method
screen_data
v1_8_6_287 -
Show latest stable
- Class:
XSD::XSDDateTimeImpl
screen_data(t)public
No documentation available.
# File lib/xsd/datatypes.rb, line 561
def screen_data(t)
# convert t to a DateTime as an internal representation.
if t.respond_to?(:to_datetime) # 1.9 or later
t.to_datetime
elsif t.is_a?(DateTime)
t
elsif t.is_a?(Date)
t = screen_data_str(t)
t <<= 12 if t.year < 0
t
elsif t.is_a?(Time)
jd = DateTime.civil_to_jd(t.year, t.mon, t.mday, DateTime::ITALY)
fr = DateTime.time_to_day_fraction(t.hour, t.min, [t.sec, 59].min) +
t.usec.to_r / 1000000 / SecInDay
of = t.utc_offset.to_r / SecInDay
DateTime.new0(DateTime.jd_to_ajd(jd, fr, of), of, DateTime::ITALY)
else
screen_data_str(t)
end
end