[][src]Struct time::UtcOffset

pub struct UtcOffset { /* fields omitted */ }

An offset from UTC.

Guaranteed to store values up to ±23:59:59. Any values outside this range may have incidental support that can change at any time without notice. If you need support outside this range, please file an issue with your use case.

Implementations

impl UtcOffset[src]

pub const UTC: Self[src]

A UtcOffset that is UTC.

assert_eq!(UtcOffset::UTC, offset!(UTC));

pub const fn east_hours(hours: u8) -> Self[src]

Create a UtcOffset representing an easterly offset by the number of hours provided.

assert_eq!(UtcOffset::east_hours(1).as_hours(), 1);
assert_eq!(UtcOffset::east_hours(2).as_minutes(), 120);

pub const fn west_hours(hours: u8) -> Self[src]

Create a UtcOffset representing a westerly offset by the number of hours provided.

assert_eq!(UtcOffset::west_hours(1).as_hours(), -1);
assert_eq!(UtcOffset::west_hours(2).as_minutes(), -120);

pub const fn hours(hours: i8) -> Self[src]

Create a UtcOffset representing an offset by the number of hours provided.

assert_eq!(UtcOffset::hours(2).as_minutes(), 120);
assert_eq!(UtcOffset::hours(-2).as_minutes(), -120);

pub const fn east_minutes(minutes: u16) -> Self[src]

Create a UtcOffset representing an easterly offset by the number of minutes provided.

assert_eq!(UtcOffset::east_minutes(60).as_hours(), 1);

pub const fn west_minutes(minutes: u16) -> Self[src]

Create a UtcOffset representing a westerly offset by the number of minutes provided.

assert_eq!(UtcOffset::west_minutes(60).as_hours(), -1);

pub const fn minutes(minutes: i16) -> Self[src]

Create a UtcOffset representing a offset by the number of minutes provided.

assert_eq!(UtcOffset::minutes(60).as_hours(), 1);
assert_eq!(UtcOffset::minutes(-60).as_hours(), -1);

pub const fn east_seconds(seconds: u32) -> Self[src]

Create a UtcOffset representing an easterly offset by the number of seconds provided.

assert_eq!(UtcOffset::east_seconds(3_600).as_hours(), 1);
assert_eq!(UtcOffset::east_seconds(1_800).as_minutes(), 30);

pub const fn west_seconds(seconds: u32) -> Self[src]

Create a UtcOffset representing a westerly offset by the number of seconds provided.

assert_eq!(UtcOffset::west_seconds(3_600).as_hours(), -1);
assert_eq!(UtcOffset::west_seconds(1_800).as_minutes(), -30);

pub const fn seconds(seconds: i32) -> Self[src]

Create a UtcOffset representing an offset by the number of seconds provided.

assert_eq!(UtcOffset::seconds(3_600).as_hours(), 1);
assert_eq!(UtcOffset::seconds(-3_600).as_hours(), -1);

pub const fn as_seconds(self) -> i32[src]

Get the number of seconds from UTC the value is. Positive is east, negative is west.

assert_eq!(UtcOffset::UTC.as_seconds(), 0);
assert_eq!(UtcOffset::hours(12).as_seconds(), 43_200);
assert_eq!(UtcOffset::hours(-12).as_seconds(), -43_200);

pub const fn as_minutes(self) -> i16[src]

Get the number of minutes from UTC the value is. Positive is east, negative is west.

assert_eq!(UtcOffset::UTC.as_minutes(), 0);
assert_eq!(UtcOffset::hours(12).as_minutes(), 720);
assert_eq!(UtcOffset::hours(-12).as_minutes(), -720);

pub const fn as_hours(self) -> i8[src]

Get the number of hours from UTC the value is. Positive is east, negative is west.

assert_eq!(UtcOffset::UTC.as_hours(), 0);
assert_eq!(UtcOffset::hours(12).as_hours(), 12);
assert_eq!(UtcOffset::hours(-12).as_hours(), -12);

pub fn local_offset_at(datetime: OffsetDateTime) -> Self[src]

Obtain the system's UTC offset at a known moment in time. If the offset cannot be determined, UTC is returned.

let unix_epoch = OffsetDateTime::unix_epoch();
let local_offset = UtcOffset::local_offset_at(unix_epoch);
println!("{}", local_offset.format("%z"));

pub fn try_local_offset_at(
    datetime: OffsetDateTime
) -> Result<Self, IndeterminateOffsetError>
[src]

Attempt to obtain the system's UTC offset at a known moment in time. If the offset cannot be determined, an error is returned.

let unix_epoch = OffsetDateTime::unix_epoch();
let local_offset = UtcOffset::try_local_offset_at(unix_epoch);
assert!(local_offset.is_ok());

pub fn current_local_offset() -> Self[src]

Obtain the system's current UTC offset. If the offset cannot be determined, UTC is returned.

let local_offset = UtcOffset::current_local_offset();
println!("{}", local_offset.format("%z"));

pub fn try_current_local_offset() -> Result<Self, IndeterminateOffsetError>[src]

Attempt to obtain the system's current UTC offset. If the offset cannot be determined, an error is returned.

let local_offset = UtcOffset::try_current_local_offset();
assert!(local_offset.is_ok());

impl UtcOffset[src]

Methods that allow parsing and formatting the UtcOffset.

pub fn format(self, format: impl AsRef<str>) -> String[src]

Format the UtcOffset using the provided string.

assert_eq!(UtcOffset::hours(2).format("%z"), "+0200");
assert_eq!(UtcOffset::hours(-2).format("%z"), "-0200");

pub fn lazy_format(self, format: impl AsRef<str>) -> impl Display[src]

Format the UtcOffset using the provided string.

assert_eq!(UtcOffset::hours(2).lazy_format("%z").to_string(), "+0200");
assert_eq!(UtcOffset::hours(-2).lazy_format("%z").to_string(), "-0200");

pub fn parse(
    s: impl AsRef<str>,
    format: impl AsRef<str>
) -> Result<Self, ParseError>
[src]

Attempt to parse the UtcOffset using the provided string.

assert_eq!(UtcOffset::parse("+0200", "%z"), Ok(UtcOffset::hours(2)));
assert_eq!(UtcOffset::parse("-0200", "%z"), Ok(UtcOffset::hours(-2)));

Trait Implementations

impl Clone for UtcOffset[src]

impl Copy for UtcOffset[src]

impl Debug for UtcOffset[src]

impl<'de> Deserialize<'de> for UtcOffset[src]

impl Display for UtcOffset[src]

impl Distribution<UtcOffset> for Standard[src]

impl Eq for UtcOffset[src]

impl Hash for UtcOffset[src]

impl Ord for UtcOffset[src]

impl PartialEq<UtcOffset> for UtcOffset[src]

impl PartialOrd<UtcOffset> for UtcOffset[src]

impl Serialize for UtcOffset[src]

impl StructuralEq for UtcOffset[src]

impl StructuralPartialEq for UtcOffset[src]

Auto Trait Implementations

Blanket Implementations

impl<T> Any for T where
    T: 'static + ?Sized
[src]

impl<T> Borrow<T> for T where
    T: ?Sized
[src]

impl<T> BorrowMut<T> for T where
    T: ?Sized
[src]

impl<T> DeserializeOwned for T where
    T: for<'de> Deserialize<'de>, 
[src]

impl<T> From<T> for T[src]

impl<T, U> Into<U> for T where
    U: From<T>, 
[src]

impl<T> Sealed<T> for T where
    T: ?Sized
[src]

impl<T> ToOwned for T where
    T: Clone
[src]

type Owned = T

The resulting type after obtaining ownership.

impl<T> ToString for T where
    T: Display + ?Sized
[src]

impl<T, U> TryFrom<U> for T where
    U: Into<T>, 
[src]

type Error = Infallible

The type returned in the event of a conversion error.

impl<T, U> TryInto<U> for T where
    U: TryFrom<T>, 
[src]

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

The type returned in the event of a conversion error.

impl<V, T> VZip<V> for T where
    V: MultiLane<T>,