Skip to main content

UT1

Struct UT1 

Source
pub struct UT1(/* private fields */);
Expand description

Universal Time UT1, based on Earth’s rotation angle.

Internally stores time as a split Julian Date for full precision.

Implementations§

Source§

impl UT1

Source

pub fn new(seconds: i64, nanos: u32) -> UT1

Creates UT1 from Unix timestamp components.

Converts seconds and nanoseconds since Unix epoch (1970-01-01 00:00:00) to a split Julian Date representation.

Source

pub fn from_julian_date(jd: JulianDate) -> UT1

Creates UT1 from a Julian Date.

Source

pub fn j2000() -> UT1

Returns UT1 at the J2000.0 epoch (2000-01-01T12:00:00).

Source

pub fn to_julian_date(&self) -> JulianDate

Returns the underlying Julian Date.

Source

pub fn add_seconds(&self, seconds: f64) -> UT1

Adds seconds to this UT1 instant. Negative values subtract.

Source

pub fn add_days(&self, days: f64) -> UT1

Adds days to this UT1 instant. Negative values subtract.

Trait Implementations§

Source§

impl Clone for UT1

Source§

fn clone(&self) -> UT1

Returns a duplicate of the value. Read more
1.0.0 · Source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
Source§

impl Debug for UT1

Source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result<(), Error>

Formats the value using the given formatter. Read more
Source§

impl Display for UT1

Formats as “UT1 {julian_date}”.

Source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result<(), Error>

Formats the value using the given formatter. Read more
Source§

impl From<JulianDate> for UT1

Converts a Julian Date to UT1.

Source§

fn from(jd: JulianDate) -> UT1

Converts to this type from the input type.
Source§

impl FromStr for UT1

Parses UT1 from an ISO 8601 string.

Accepts formats like “2000-01-01T12:00:00” or “2000-01-01T12:00:00.123”.

Source§

type Err = TimeError

The associated error which can be returned from parsing.
Source§

fn from_str(s: &str) -> Result<UT1, TimeError>

Parses a string s to return a value of this type. Read more
Source§

impl PartialEq for UT1

Source§

fn eq(&self, other: &UT1) -> bool

Tests for self and other values to be equal, and is used by ==.
1.0.0 · Source§

fn ne(&self, other: &Rhs) -> bool

Tests for !=. The default implementation is almost always sufficient, and should not be overridden without very good reason.
Source§

impl ToTAIWithOffset for UT1

Source§

fn to_tai_with_offset( &self, ut1_tai_offset_seconds: f64, ) -> Result<TAI, TimeError>

Convert to TAI using the given UT1-TAI offset in seconds. Read more
Source§

impl ToTTWithDeltaT for UT1

Source§

fn to_tt_with_delta_t(&self, delta_t_seconds: f64) -> Result<TT, TimeError>

Convert to TT using the given Delta-T in seconds. Read more
Source§

impl ToUT1 for UT1

Source§

fn to_ut1(&self) -> Result<UT1, TimeError>

Convert to Universal Time 1.
Source§

impl ToUTCViaTAI for UT1

Source§

fn to_utc_via_tai_with_dut1(&self, dut1_seconds: f64) -> Result<UTC, TimeError>

Convert UT1 to UTC by chaining: UT1 → TAI → UTC. Read more
Source§

impl ToUTCWithDUT1 for UT1

Source§

fn to_utc_with_dut1(&self, dut1_seconds: f64) -> Result<UTC, TimeError>

Convert UT1 to UTC by subtracting the adjusted DUT1 offset.

The conversion:

  1. Determines which JD component has larger magnitude (for precision)
  2. Adjusts DUT1 for any nearby leap second boundaries
  3. Subtracts the adjusted DUT1 from the smaller-magnitude component
  4. Preserves the original JD component ordering

The leap second adjustment ensures correct behavior at discontinuities where the UTC scale gains an extra second.

Source§

impl Copy for UT1

Source§

impl StructuralPartialEq for UT1

Auto Trait Implementations§

§

impl Freeze for UT1

§

impl RefUnwindSafe for UT1

§

impl Send for UT1

§

impl Sync for UT1

§

impl Unpin for UT1

§

impl UnsafeUnpin for UT1

§

impl UnwindSafe for UT1

Blanket Implementations§

Source§

impl<T> Any for T
where T: 'static + ?Sized,

Source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
Source§

impl<T> Borrow<T> for T
where T: ?Sized,

Source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
Source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

Source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
Source§

impl<T> CloneToUninit for T
where T: Clone,

Source§

unsafe fn clone_to_uninit(&self, dest: *mut u8)

🔬This is a nightly-only experimental API. (clone_to_uninit)
Performs copy-assignment from self to dest. Read more
Source§

impl<T> From<T> for T

Source§

fn from(t: T) -> T

Returns the argument unchanged.

Source§

impl<T, U> Into<U> for T
where U: From<T>,

Source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

Source§

impl<T> ToOwned for T
where T: Clone,

Source§

type Owned = T

The resulting type after obtaining ownership.
Source§

fn to_owned(&self) -> T

Creates owned data from borrowed data, usually by cloning. Read more
Source§

fn clone_into(&self, target: &mut T)

Uses borrowed data to replace owned data, usually by cloning. Read more
Source§

impl<T> ToString for T
where T: Display + ?Sized,

Source§

fn to_string(&self) -> String

Converts the given value to a String. Read more
Source§

impl<T, U> TryFrom<U> for T
where U: Into<T>,

Source§

type Error = Infallible

The type returned in the event of a conversion error.
Source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
Source§

impl<T, U> TryInto<U> for T
where U: TryFrom<T>,

Source§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
Source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.