Struct time::UtcOffset [−][src]
pub struct UtcOffset { /* fields omitted */ }
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
[src]
pub const UTC: Self
[src]
A UtcOffset
that is UTC.
assert_eq!(UtcOffset::UTC, offset!("UTC"));Run
pub const fn from_hms(
hours: i8,
minutes: i8,
seconds: i8
) -> Result<Self, ComponentRange>
[src]
hours: i8,
minutes: i8,
seconds: i8
) -> Result<Self, 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));Run
pub const fn as_hms(self) -> (i8, i8, i8)
[src]
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));Run
pub const fn whole_hours(self) -> i8
[src]
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);Run
pub const fn whole_minutes(self) -> i16
[src]
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);Run
pub const fn minutes_past_hour(self) -> i8
[src]
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);Run
pub const fn whole_seconds(self) -> i32
[src]
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);Run
pub const fn seconds_past_minute(self) -> i8
[src]
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);Run
pub const fn is_utc(self) -> bool
[src]
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());Run
pub const fn is_positive(self) -> bool
[src]
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());Run
pub const fn is_negative(self) -> bool
[src]
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());Run
pub fn local_offset_at(
datetime: OffsetDateTime
) -> Result<Self, IndeterminateOffset>
[src]
datetime: OffsetDateTime
) -> Result<Self, IndeterminateOffset>
local-offset
only.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 local_offset = UtcOffset::local_offset_at(OffsetDateTime::UNIX_EPOCH); assert!(local_offset.is_ok());Run
Due to a soundness bug, the error value is currently always returned on Unix-like platforms.
pub fn current_local_offset() -> Result<Self, IndeterminateOffset>
[src]
local-offset
only.Attempt to obtain the system’s current UTC offset. If the offset cannot be determined, an error is returned.
let local_offset = UtcOffset::current_local_offset(); assert!(local_offset.is_ok());Run
impl UtcOffset
[src]
pub fn format_into(
self,
output: &mut impl Write,
format: &impl Formattable
) -> Result<usize, Format>
[src]
self,
output: &mut impl Write,
format: &impl Formattable
) -> Result<usize, Format>
formatting
only.Format the UtcOffset
using the provided format description. The formatted value will be
output to the provided writer. The format description will typically be parsed by using
format_description::parse
.
pub fn format(self, format: &impl Formattable) -> Result<String, Format>
[src]
formatting
only.Format the UtcOffset
using the provided format description. The format description will
typically be parsed by using
format_description::parse
.
let format = format_description::parse("[offset_hour sign:mandatory]:[offset_minute]")?; assert_eq!(offset!("+1").format(&format)?, "+01:00");Run
impl UtcOffset
[src]
pub fn parse(input: &str, description: &impl Parsable) -> Result<Self, Parse>
[src]
parsing
only.Parse a UtcOffset
from the input using the provided format description. The format
description will typically be parsed by using
format_description::parse
.
let format = format_description::parse("[offset_hour]:[offset_minute]")?; assert_eq!(UtcOffset::parse("-03:42", &format)?, offset!("-3:42"));Run
Trait Implementations
impl Arbitrary for UtcOffset
[src]
quickcheck
only.impl Clone for UtcOffset
[src]
impl Copy for UtcOffset
[src]
impl Debug for UtcOffset
[src]
impl<'a> Deserialize<'a> for UtcOffset
[src]
serde
only.fn deserialize<D: Deserializer<'a>>(deserializer: D) -> Result<Self, D::Error>
[src]
impl Display for UtcOffset
[src]
formatting
only.impl Eq for UtcOffset
[src]
impl Hash for UtcOffset
[src]
fn hash<__H: Hasher>(&self, state: &mut __H)
[src]
pub fn hash_slice<H>(data: &[Self], state: &mut H) where
H: Hasher,
1.3.0[src]
H: Hasher,
impl Neg for UtcOffset
[src]
type Output = Self
The resulting type after applying the -
operator.
fn neg(self) -> Self::Output
[src]
impl Ord for UtcOffset
[src]
fn cmp(&self, other: &UtcOffset) -> Ordering
[src]
#[must_use]pub fn max(self, other: Self) -> Self
1.21.0[src]
#[must_use]pub fn min(self, other: Self) -> Self
1.21.0[src]
#[must_use]pub fn clamp(self, min: Self, max: Self) -> Self
1.50.0[src]
impl PartialEq<UtcOffset> for UtcOffset
[src]
impl PartialOrd<UtcOffset> for UtcOffset
[src]
fn partial_cmp(&self, other: &UtcOffset) -> Option<Ordering>
[src]
#[must_use]pub fn lt(&self, other: &Rhs) -> bool
1.0.0[src]
#[must_use]pub fn le(&self, other: &Rhs) -> bool
1.0.0[src]
#[must_use]pub fn gt(&self, other: &Rhs) -> bool
1.0.0[src]
#[must_use]pub fn ge(&self, other: &Rhs) -> bool
1.0.0[src]
impl Serialize for UtcOffset
[src]
serde
only.impl StructuralEq for UtcOffset
[src]
impl StructuralPartialEq for UtcOffset
[src]
impl TryFrom<Parsed> for UtcOffset
[src]
parsing
only.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
impl<T> Any for T where
T: 'static + ?Sized,
[src]
T: 'static + ?Sized,
impl<T> Borrow<T> for T where
T: ?Sized,
[src]
T: ?Sized,
impl<T> BorrowMut<T> for T where
T: ?Sized,
[src]
T: ?Sized,
pub fn borrow_mut(&mut self) -> &mut T
[src]
impl<T> DeserializeOwned for T where
T: for<'de> Deserialize<'de>,
[src]
T: for<'de> Deserialize<'de>,
impl<T> From<T> for T
[src]
impl<T, U> Into<U> for T where
U: From<T>,
[src]
U: From<T>,
impl<T> ToOwned for T where
T: Clone,
[src]
T: Clone,
type Owned = T
The resulting type after obtaining ownership.
pub fn to_owned(&self) -> T
[src]
pub fn clone_into(&self, target: &mut T)
[src]
impl<T> ToString for T where
T: Display + ?Sized,
[src]
T: Display + ?Sized,
impl<T, U> TryFrom<U> for T where
U: Into<T>,
[src]
U: Into<T>,
type Error = Infallible
The type returned in the event of a conversion error.
pub fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>
[src]
impl<T, U> TryInto<U> for T where
U: TryFrom<T>,
[src]
U: TryFrom<T>,