mod convert;
pub use convert::{FromTimeScale, IntoTimeScale};
mod datetime;
pub use datetime::{
FromDateTime, FromFineDateTime, IntoDateTime, IntoFineDateTime, UniformDateTimeScale,
};
mod bdt;
pub use bdt::{Bdt, BeiDouTime};
mod glonasst;
pub use glonasst::{GlonassTime, Glonasst};
mod gpst;
pub use gpst::{GpsTime, Gpst};
mod gst;
pub use gst::{GalileoTime, Gst};
mod leap_seconds;
pub use leap_seconds::{
FromLeapSecondDateTime, IntoLeapSecondDateTime, LeapSecondProvider,
STATIC_LEAP_SECOND_PROVIDER, StaticLeapSecondProvider,
};
mod qzsst;
pub use qzsst::{QzssTime, Qzsst};
mod tai;
pub use tai::{Tai, TaiTime};
mod tcg;
pub use tcg::{Tcg, TcgTime};
mod tt;
pub use tt::{Tt, TtTime};
mod terrestrial_time;
pub use terrestrial_time::TerrestrialTime;
mod utc;
pub use utc::{Utc, UtcTime};
use crate::Date;
pub trait TimeScale {
const NAME: &'static str;
const ABBREVIATION: &'static str;
}
pub trait AbsoluteTimeScale: TimeScale {
const EPOCH: Date<i32>;
}