Enum icu::timezone::ParseError
source · #[non_exhaustive]pub enum ParseError {
Syntax(ParseError),
Range(RangeError),
Date(DateError),
MissingFields,
InconsistentTimeZoneOffsets,
InvalidOffsetError,
MismatchedTimeZoneFields,
UnknownCalendar,
RequiresCalculation,
}
Expand description
The error type for parsing IXDTF syntax strings in icu_timezone
.
Variants (Non-exhaustive)§
This enum is marked as non-exhaustive
Non-exhaustive enums could have additional variants added in future. Therefore, when matching against variants of non-exhaustive enums, an extra wildcard arm must be added to account for any future variants.
Syntax(ParseError)
Syntax error for IXDTF string.
Range(RangeError)
Parsed record is out of valid date range.
Date(DateError)
Parsed date and time records were not a valid ISO date.
MissingFields
There were missing fields required to parse component.
InconsistentTimeZoneOffsets
There were two offsets provided that were not consistent with each other.
InvalidOffsetError
There was an invalid Offset.
MismatchedTimeZoneFields
The set of time zone fields was not expected for the given type. For example, if a named time zone was present with offset-only parsing, or an offset was present with named-time-zone-only parsing.
UnknownCalendar
An unknown calendar was provided.
RequiresCalculation
A timezone calculation is required to interpret this string, which is not supported.
§Example
use icu::timezone::{IxdtfParser, ParseError};
// This timestamp is in UTC, and requires a time zone calculation in order to display a Zurich time.
assert_eq!(
IxdtfParser::new().try_loose_iso_from_str("2024-08-12T12:32:00Z[Europe/Zurich]").unwrap_err(),
ParseError::RequiresCalculation,
);
// These timestamps are in local time
IxdtfParser::new().try_loose_iso_from_str("2024-08-12T14:32:00+02:00[Europe/Zurich]").unwrap();
IxdtfParser::new().try_loose_iso_from_str("2024-08-12T14:32:00[Europe/Zurich]").unwrap();
Trait Implementations§
source§impl Debug for ParseError
impl Debug for ParseError
source§impl From<DateError> for ParseError
impl From<DateError> for ParseError
source§fn from(value: DateError) -> ParseError
fn from(value: DateError) -> ParseError
Converts to this type from the input type.
source§impl From<InvalidOffsetError> for ParseError
impl From<InvalidOffsetError> for ParseError
source§fn from(_: InvalidOffsetError) -> ParseError
fn from(_: InvalidOffsetError) -> ParseError
Converts to this type from the input type.
source§impl From<ParseError> for ParseError
impl From<ParseError> for ParseError
source§fn from(value: ParseError) -> ParseError
fn from(value: ParseError) -> ParseError
Converts to this type from the input type.
source§impl From<RangeError> for ParseError
impl From<RangeError> for ParseError
source§fn from(value: RangeError) -> ParseError
fn from(value: RangeError) -> ParseError
Converts to this type from the input type.
source§impl PartialEq for ParseError
impl PartialEq for ParseError
impl StructuralPartialEq for ParseError
Auto Trait Implementations§
impl Freeze for ParseError
impl RefUnwindSafe for ParseError
impl Send for ParseError
impl Sync for ParseError
impl Unpin for ParseError
impl UnwindSafe for ParseError
Blanket Implementations§
source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more
source§impl<T> IntoEither for T
impl<T> IntoEither for T
source§fn into_either(self, into_left: bool) -> Either<Self, Self>
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 moresource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
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