協定世界時
dynamical time を universal time に変換する
time : dynamical time(Numeric) returns : universal time(Numeric)
# File when/ephemeris.rb, line 1231 1231: def from_dynamical_time(time) 1232: return time unless -Float::MAX/4 < time && time < Float::MAX/4 1233: jd_tt = time / When::TM::IntervalLength::DAY + When::TM::JulianDate::JD19700101 - 0.5 1234: utc = time - self.class.delta_t(jd_tt) * When::TM::IntervalLength::SECOND 1235: diff = time - to_dynamical_time(utc) 1236: return utc if diff == 0 # 間に閏秒なし 1237: utc += diff 1238: diff = time - to_dynamical_time(utc) 1239: return utc if diff == 0 # 間に閏秒なし 1240: return When::Coordinates::LeapSeconds.new(utc+diff, -diff, When::TM::IntervalLength::SECOND) 1241: end
当該時刻系に閏秒があるか?
returns : true - 閏秒あり
# File when/ephemeris.rb, line 1257 1257: def leap? 1258: true 1259: end
現在日時を universal time で返す
returns : universal time(Numeric)
# File when/ephemeris.rb, line 1247 1247: def now 1248: result = Time.now.to_f * When::TM::IntervalLength::SECOND 1249: return result if self.class._ignore_leap? 1250: from_dynamical_time(result + self.class.DeltaT0 * When::TM::IntervalLength::SECOND) 1251: end
universal time を dynamical time に変換する
time : universal time(Numeric) returns : dynamical time(Numeric)
# File when/ephemeris.rb, line 1220 1220: def to_dynamical_time(time) 1221: return time unless -Float::MAX/4 < time && time < Float::MAX/4 1222: jd_utc = (time * 1) / When::TM::IntervalLength::DAY + When::TM::JulianDate::JD19700101 - 0.5 1223: +time + self.class.delta_t(jd_utc) * When::TM::IntervalLength::SECOND 1224: end
Disabled; run with --debug to generate this.
Generated with the Darkfish Rdoc Generator 1.1.6.