Struct sqlx::types::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

pub const UTC: UtcOffset

A UtcOffset that is UTC.

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

pub const fn east_hours(hours: u8) -> UtcOffset

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) -> UtcOffset

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) -> UtcOffset

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) -> UtcOffset

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) -> UtcOffset

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) -> UtcOffset

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) -> UtcOffset

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) -> UtcOffset

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) -> UtcOffset

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

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

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

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) -> UtcOffset

👎 Deprecated since 0.2.23:

UTC is returned if the local offset cannot be determined

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<UtcOffset, IndeterminateOffset>

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() -> UtcOffset

👎 Deprecated since 0.2.23:

UTC is returned if the local offset cannot be determined

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<UtcOffset, IndeterminateOffset>

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

Methods that allow parsing and formatting the UtcOffset.

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

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

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<UtcOffset, Error>

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

impl Copy for UtcOffset

impl Debug for UtcOffset

impl Display for UtcOffset

impl Eq for UtcOffset

impl Hash for UtcOffset

impl Ord for UtcOffset

impl PartialEq<UtcOffset> for UtcOffset

impl PartialOrd<UtcOffset> for UtcOffset

impl StructuralEq for UtcOffset

impl StructuralPartialEq for UtcOffset

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> CallHasher for T where
    T: Hash

impl<T> CallHasher for T where
    T: Hash + ?Sized

impl<T> Conv for T

impl<T> Conv for T

impl<Q, K> Equivalent<K> for Q where
    K: Borrow<Q> + ?Sized,
    Q: Eq + ?Sized
[src]

impl<T> FmtForward for T

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

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

impl<T> Pipe for T where
    T: ?Sized

impl<T> Pipe for T

impl<T> PipeAsRef for T

impl<T> PipeBorrow for T

impl<T> PipeDeref for T

impl<T> PipeRef for T

impl<T> Same<T> for T

type Output = T

Should always be Self

impl<T> Tap for T

impl<T> Tap for T

impl<T, U> TapAsRef<U> for T where
    U: ?Sized

impl<T, U> TapBorrow<U> for T where
    U: ?Sized

impl<T> TapDeref for T

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> TryConv for T

impl<T> TryConv for T

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>,