Struct UtcOffset

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

An offset from Coordinated Universal Time (UTC).

Supports ±18:00:00.

The primary definition of this type is in the icu_time crate. Other ICU4X crates re-export it for convenience.

Implementations§

Source§

impl UtcOffset

Source

pub fn try_from_seconds(seconds: i32) -> Result<UtcOffset, InvalidOffsetError>

Attempt to create a UtcOffset from a seconds input.

Returns InvalidOffsetError if the seconds are out of bounds.

Source

pub const fn zero() -> UtcOffset

Creates a UtcOffset of zero.

Source

pub fn try_from_str(s: &str) -> Result<UtcOffset, InvalidOffsetError>

Parse a UtcOffset from bytes.

The offset must range from UTC-12 to UTC+14.

The string must be an ISO-8601 time zone designator: e.g. Z e.g. +05 e.g. +0500 e.g. +05:00

§Examples
use icu::time::zone::UtcOffset;

let offset0: UtcOffset = UtcOffset::try_from_str("Z").unwrap();
let offset1: UtcOffset = UtcOffset::try_from_str("+05").unwrap();
let offset2: UtcOffset = UtcOffset::try_from_str("+0500").unwrap();
let offset3: UtcOffset = UtcOffset::try_from_str("-05:00").unwrap();

let offset_err0 =
    UtcOffset::try_from_str("0500").expect_err("Invalid input");
let offset_err1 =
    UtcOffset::try_from_str("+05000").expect_err("Invalid input");

assert_eq!(offset0.to_seconds(), 0);
assert_eq!(offset1.to_seconds(), 18000);
assert_eq!(offset2.to_seconds(), 18000);
assert_eq!(offset3.to_seconds(), -18000);
Source

pub fn try_from_utf8(code_units: &[u8]) -> Result<UtcOffset, InvalidOffsetError>

Source

pub fn from_seconds_unchecked(seconds: i32) -> UtcOffset

Create a UtcOffset from a seconds input without checking bounds.

Source

pub fn to_seconds(self) -> i32

Returns the raw offset value in seconds.

Source

pub fn is_non_negative(self) -> bool

Whether the UtcOffset is non-negative.

Source

pub fn is_zero(self) -> bool

Whether the UtcOffset is zero.

Source

pub fn hours_part(self) -> i32

Returns the hours part of if the UtcOffset

Source

pub fn minutes_part(self) -> u32

Returns the minutes part of if the UtcOffset.

Source

pub fn seconds_part(self) -> u32

Returns the seconds part of if the UtcOffset.

Trait Implementations§

Source§

impl Clone for UtcOffset

Source§

fn clone(&self) -> UtcOffset

Returns a copy 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 UtcOffset

Source§

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

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

impl Default for UtcOffset

Source§

fn default() -> UtcOffset

Returns the “default value” for a type. Read more
Source§

impl FromStr for UtcOffset

Source§

type Err = InvalidOffsetError

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

fn from_str(s: &str) -> Result<UtcOffset, <UtcOffset as FromStr>::Err>

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

impl GetField<()> for UtcOffset

Source§

fn get_field(&self)

Returns the value of this trait’s field T.
Source§

impl GetField<Option<UtcOffset>> for UtcOffset

Source§

fn get_field(&self) -> Option<UtcOffset>

Returns the value of this trait’s field T.
Source§

impl InSameCalendar for UtcOffset

Source§

fn check_any_calendar_kind( &self, _: AnyCalendarKind, ) -> Result<(), MismatchedCalendarError>

Checks whether this type is compatible with the given calendar. Read more
Source§

impl IntoOption<UtcOffset> for UtcOffset

Source§

fn into_option(self) -> Option<UtcOffset>

Return self as an Option<T>
Source§

impl Ord for UtcOffset

Source§

fn cmp(&self, other: &UtcOffset) -> Ordering

This method returns an Ordering between self and other. Read more
1.21.0 · Source§

fn max(self, other: Self) -> Self
where Self: Sized,

Compares and returns the maximum of two values. Read more
1.21.0 · Source§

fn min(self, other: Self) -> Self
where Self: Sized,

Compares and returns the minimum of two values. Read more
1.50.0 · Source§

fn clamp(self, min: Self, max: Self) -> Self
where Self: Sized,

Restrict a value to a certain interval. Read more
Source§

impl PartialEq for UtcOffset

Source§

fn eq(&self, other: &UtcOffset) -> 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 PartialOrd for UtcOffset

Source§

fn partial_cmp(&self, other: &UtcOffset) -> Option<Ordering>

This method returns an ordering between self and other values if one exists. Read more
1.0.0 · Source§

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

Tests less than (for self and other) and is used by the < operator. Read more
1.0.0 · Source§

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

Tests less than or equal to (for self and other) and is used by the <= operator. Read more
1.0.0 · Source§

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

Tests greater than (for self and other) and is used by the > operator. Read more
1.0.0 · Source§

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

Tests greater than or equal to (for self and other) and is used by the >= operator. Read more
Source§

impl Copy for UtcOffset

Source§

impl Eq for UtcOffset

Source§

impl<C> InFixedCalendar<C> for UtcOffset

Source§

impl StructuralPartialEq for UtcOffset

Source§

impl UnstableSealed for UtcOffset

Auto Trait Implementations§

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> GetField<T> for T
where T: Copy + UnstableSealed,

Source§

fn get_field(&self) -> T

Returns the value of this trait’s field T.
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> IntoEither for T

Source§

fn into_either(self, into_left: bool) -> Either<Self, Self>

Converts self into a Left variant of Either<Self, Self> if into_left is true. Converts self into a Right variant of Either<Self, Self> otherwise. Read more
Source§

fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
where F: FnOnce(&Self) -> bool,

Converts self into a Left variant of Either<Self, Self> if into_left(&self) returns true. Converts self into a Right variant of Either<Self, Self> otherwise. Read more
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, 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.
Source§

impl<T> ErasedDestructor for T
where T: 'static,