pub struct UtcOffset { /* private fields */ }
Expand description
An offset from UTC.
This struct can store values up to ±23:59:59. If you need support outside this range, please file an issue with your use case.
Implementations
impl UtcOffset
impl UtcOffset
pub const fn from_hms(
hours: i8,
minutes: i8,
seconds: i8
) -> Result<UtcOffset, ComponentRange>
pub const fn from_hms(
hours: i8,
minutes: i8,
seconds: i8
) -> Result<UtcOffset, ComponentRange>
Create a UtcOffset
representing an offset by the number of hours, minutes, and seconds
provided.
The sign of all three components should match. If they do not, all smaller components will have their signs flipped.
assert_eq!(UtcOffset::from_hms(1, 2, 3)?.as_hms(), (1, 2, 3));
assert_eq!(UtcOffset::from_hms(1, -2, -3)?.as_hms(), (1, 2, 3));
pub const fn from_whole_seconds(
seconds: i32
) -> Result<UtcOffset, ComponentRange>
pub const fn from_whole_seconds(
seconds: i32
) -> Result<UtcOffset, ComponentRange>
Create a UtcOffset
representing an offset by the number of seconds provided.
assert_eq!(UtcOffset::from_whole_seconds(3_723)?.as_hms(), (1, 2, 3));
pub const fn as_hms(self) -> (i8, i8, i8)
pub const fn as_hms(self) -> (i8, i8, i8)
Obtain the UTC offset as its hours, minutes, and seconds. The sign of all three components will always match. A positive value indicates an offset to the east; a negative to the west.
assert_eq!(offset!(+1:02:03).as_hms(), (1, 2, 3));
assert_eq!(offset!(-1:02:03).as_hms(), (-1, -2, -3));
pub const fn whole_hours(self) -> i8
pub const fn whole_hours(self) -> i8
Obtain the number of whole hours the offset is from UTC. A positive value indicates an offset to the east; a negative to the west.
assert_eq!(offset!(+1:02:03).whole_hours(), 1);
assert_eq!(offset!(-1:02:03).whole_hours(), -1);
pub const fn whole_minutes(self) -> i16
pub const fn whole_minutes(self) -> i16
Obtain the number of whole minutes the offset is from UTC. A positive value indicates an offset to the east; a negative to the west.
assert_eq!(offset!(+1:02:03).whole_minutes(), 62);
assert_eq!(offset!(-1:02:03).whole_minutes(), -62);
pub const fn minutes_past_hour(self) -> i8
pub const fn minutes_past_hour(self) -> i8
Obtain the number of minutes past the hour the offset is from UTC. A positive value indicates an offset to the east; a negative to the west.
assert_eq!(offset!(+1:02:03).minutes_past_hour(), 2);
assert_eq!(offset!(-1:02:03).minutes_past_hour(), -2);
pub const fn whole_seconds(self) -> i32
pub const fn whole_seconds(self) -> i32
Obtain the number of whole seconds the offset is from UTC. A positive value indicates an offset to the east; a negative to the west.
assert_eq!(offset!(+1:02:03).whole_seconds(), 3723);
assert_eq!(offset!(-1:02:03).whole_seconds(), -3723);
pub const fn seconds_past_minute(self) -> i8
pub const fn seconds_past_minute(self) -> i8
Obtain the number of seconds past the minute the offset is from UTC. A positive value indicates an offset to the east; a negative to the west.
assert_eq!(offset!(+1:02:03).seconds_past_minute(), 3);
assert_eq!(offset!(-1:02:03).seconds_past_minute(), -3);
pub const fn is_utc(self) -> bool
pub const fn is_utc(self) -> bool
Check if the offset is exactly UTC.
assert!(!offset!(+1:02:03).is_utc());
assert!(!offset!(-1:02:03).is_utc());
assert!(offset!(UTC).is_utc());
pub const fn is_positive(self) -> bool
pub const fn is_positive(self) -> bool
Check if the offset is positive, or east of UTC.
assert!(offset!(+1:02:03).is_positive());
assert!(!offset!(-1:02:03).is_positive());
assert!(!offset!(UTC).is_positive());
pub const fn is_negative(self) -> bool
pub const fn is_negative(self) -> bool
Check if the offset is negative, or west of UTC.
assert!(!offset!(+1:02:03).is_negative());
assert!(offset!(-1:02:03).is_negative());
assert!(!offset!(UTC).is_negative());
impl UtcOffset
impl UtcOffset
pub fn format_into(
self,
output: &mut impl Write,
format: &impl Formattable
) -> Result<usize, Format>
pub fn format_into(
self,
output: &mut impl Write,
format: &impl Formattable
) -> Result<usize, Format>
Format the UtcOffset
using the provided format description.
pub fn format(self, format: &impl Formattable) -> Result<String, Format>
pub fn format(self, format: &impl Formattable) -> Result<String, Format>
Format the UtcOffset
using the provided format description.
let format = format_description::parse("[offset_hour sign:mandatory]:[offset_minute]")?;
assert_eq!(offset!(+1).format(&format)?, "+01:00");
impl UtcOffset
impl UtcOffset
Trait Implementations
impl Arbitrary for UtcOffset
impl Arbitrary for UtcOffset
impl Ord for UtcOffset
impl Ord for UtcOffset
impl PartialOrd<UtcOffset> for UtcOffset
impl PartialOrd<UtcOffset> for UtcOffset
fn partial_cmp(&self, other: &UtcOffset) -> Option<Ordering>
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 · sourcefn lt(&self, other: &Rhs) -> bool
fn lt(&self, other: &Rhs) -> bool
This method tests less than (for self
and other
) and is used by the <
operator. Read more
1.0.0 · sourcefn le(&self, other: &Rhs) -> bool
fn le(&self, other: &Rhs) -> bool
This method tests less than or equal to (for self
and other
) and is used by the <=
operator. Read more
impl Copy for UtcOffset
impl Eq for UtcOffset
impl StructuralEq for UtcOffset
impl StructuralPartialEq for UtcOffset
Auto Trait Implementations
impl RefUnwindSafe for UtcOffset
impl Send for UtcOffset
impl Sync for UtcOffset
impl Unpin for UtcOffset
impl UnwindSafe for UtcOffset
Blanket Implementations
sourceimpl<T> BorrowMut<T> for T where
T: ?Sized,
impl<T> BorrowMut<T> for T where
T: ?Sized,
const: unstable · sourcefn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more
sourceimpl<Q, K> Equivalent<K> for Q where
Q: Eq + ?Sized,
K: Borrow<Q> + ?Sized,
impl<Q, K> Equivalent<K> for Q where
Q: Eq + ?Sized,
K: Borrow<Q> + ?Sized,
sourcefn equivalent(&self, key: &K) -> bool
fn equivalent(&self, key: &K) -> bool
Compare self to key
and return true
if they are equal.
sourceimpl<T> Instrument for T
impl<T> Instrument for T
sourcefn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
sourcefn in_current_span(self) -> Instrumented<Self>
fn in_current_span(self) -> Instrumented<Self>
sourceimpl<T> ToOwned for T where
T: Clone,
impl<T> ToOwned for T where
T: Clone,
type Owned = T
type Owned = T
The resulting type after obtaining ownership.
sourcefn clone_into(&self, target: &mut T)
fn clone_into(&self, target: &mut T)
toowned_clone_into
)Uses borrowed data to replace owned data, usually by cloning. Read more
impl<V, T> VZip<V> for T where
V: MultiLane<T>,
impl<V, T> VZip<V> for T where
V: MultiLane<T>,
fn vzip(self) -> V
sourceimpl<T> WithSubscriber for T
impl<T> WithSubscriber for T
sourcefn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self> where
S: Into<Dispatch>,
fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self> where
S: Into<Dispatch>,
Attaches the provided Subscriber
to this type, returning a
WithDispatch
wrapper. Read more
sourcefn with_current_subscriber(self) -> WithDispatch<Self>
fn with_current_subscriber(self) -> WithDispatch<Self>
Attaches the current default Subscriber
to this type, returning a
WithDispatch
wrapper. Read more