協定世界時
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.