
pub struct Timestamp {
    micros: i64,
}

pub struct EpochedTimestamp{
    value: i64,
    epoch: Epoch,
}

pub enum Epoch {
    Unix,
    Postgres,
    J2000,
    JulianDay,
}

pub struct CivilDate {
    year: i64,
    day_of_year: u64,
}

pub struct CivilDateTime {
    date: CivilDate,
    micros: i64,
}

pub struct GregorianDate {
    year: i64,
    month: u8,
    day: u8,
}

pub struct GregorianDateTime {
    date: GregorianDate,
    hour: u8,
    minute: u8,
    second: u8,
}

pub struct Daystamp {
    days: i64,
}

pub struct DayTime {
    days: i64,
    micros: i64,
}