pub struct Parsed {Show 20 fields
pub year: Option<i32>,
pub year_div_100: Option<i32>,
pub year_mod_100: Option<i32>,
pub isoyear: Option<i32>,
pub isoyear_div_100: Option<i32>,
pub isoyear_mod_100: Option<i32>,
pub month: Option<u32>,
pub week_from_sun: Option<u32>,
pub week_from_mon: Option<u32>,
pub isoweek: Option<u32>,
pub weekday: Option<Weekday>,
pub ordinal: Option<u32>,
pub day: Option<u32>,
pub hour_div_12: Option<u32>,
pub hour_mod_12: Option<u32>,
pub minute: Option<u32>,
pub second: Option<u32>,
pub nanosecond: Option<u32>,
pub timestamp: Option<i64>,
pub offset: Option<i32>,
/* private fields */
}
Expand description
Parsed parts of date and time. There are two classes of methods:
-
set_*
methods try to set given field(s) while checking for the consistency. It may or may not check for the range constraint immediately (for efficiency reasons). -
to_*
methods try to make a concrete date and time value out of set fields. It fully checks any remaining out-of-range conditions and inconsistent/impossible fields.
Fields
year: Option<i32>
Year.
This can be negative unlike year_div_100
and year_mod_100
fields.
year_div_100: Option<i32>
Year divided by 100. Implies that the year is >= 1 BCE when set.
Due to the common usage, if this field is missing but
year_mod_100
is present,
it is inferred to 19 when year_mod_100 >= 70
and 20 otherwise.
year_mod_100: Option<i32>
Year modulo 100. Implies that the year is >= 1 BCE when set.
isoyear: Option<i32>
Year in the ISO week date.
This can be negative unlike isoyear_div_100
and
isoyear_mod_100
fields.
isoyear_div_100: Option<i32>
Year in the ISO week date, divided by 100. Implies that the year is >= 1 BCE when set.
Due to the common usage, if this field is missing but
isoyear_mod_100
is present,
it is inferred to 19 when isoyear_mod_100 >= 70
and 20 otherwise.
isoyear_mod_100: Option<i32>
Year in the ISO week date, modulo 100. Implies that the year is >= 1 BCE when set.
month: Option<u32>
Month (1–12).
week_from_sun: Option<u32>
Week number, where the week 1 starts at the first Sunday of January (0–53, 1–53 or 1–52 depending on the year).
week_from_mon: Option<u32>
Week number, where the week 1 starts at the first Monday of January (0–53, 1–53 or 1–52 depending on the year).
isoweek: Option<u32>
ISO week number (1–52 or 1–53 depending on the year).
weekday: Option<Weekday>
Day of the week.
ordinal: Option<u32>
Day of the year (1–365 or 1–366 depending on the year).
day: Option<u32>
Day of the month (1–28, 1–29, 1–30 or 1–31 depending on the month).
hour_div_12: Option<u32>
Hour number divided by 12 (0–1). 0 indicates AM and 1 indicates PM.
hour_mod_12: Option<u32>
Hour number modulo 12 (0–11).
minute: Option<u32>
Minute number (0–59).
second: Option<u32>
Second number (0–60, accounting for leap seconds).
nanosecond: Option<u32>
The number of nanoseconds since the whole second (0–999,999,999).
timestamp: Option<i64>
The number of non-leap seconds since the midnight UTC on January 1, 1970.
This can be off by one if second
is 60 (a leap second).
offset: Option<i32>
Offset from the local time to UTC, in seconds.
Implementations
sourceimpl Parsed
impl Parsed
sourcepub fn set_year(&mut self, value: i64) -> Result<(), ParseError>
pub fn set_year(&mut self, value: i64) -> Result<(), ParseError>
Tries to set the year
field from given value.
sourcepub fn set_year_div_100(&mut self, value: i64) -> Result<(), ParseError>
pub fn set_year_div_100(&mut self, value: i64) -> Result<(), ParseError>
Tries to set the year_div_100
field from given value.
sourcepub fn set_year_mod_100(&mut self, value: i64) -> Result<(), ParseError>
pub fn set_year_mod_100(&mut self, value: i64) -> Result<(), ParseError>
Tries to set the year_mod_100
field from given value.
sourcepub fn set_isoyear(&mut self, value: i64) -> Result<(), ParseError>
pub fn set_isoyear(&mut self, value: i64) -> Result<(), ParseError>
Tries to set the isoyear
field from given value.
sourcepub fn set_isoyear_div_100(&mut self, value: i64) -> Result<(), ParseError>
pub fn set_isoyear_div_100(&mut self, value: i64) -> Result<(), ParseError>
Tries to set the isoyear_div_100
field from given value.
sourcepub fn set_isoyear_mod_100(&mut self, value: i64) -> Result<(), ParseError>
pub fn set_isoyear_mod_100(&mut self, value: i64) -> Result<(), ParseError>
Tries to set the isoyear_mod_100
field from given value.
sourcepub fn set_month(&mut self, value: i64) -> Result<(), ParseError>
pub fn set_month(&mut self, value: i64) -> Result<(), ParseError>
Tries to set the month
field from given value.
sourcepub fn set_week_from_sun(&mut self, value: i64) -> Result<(), ParseError>
pub fn set_week_from_sun(&mut self, value: i64) -> Result<(), ParseError>
Tries to set the week_from_sun
field from given value.
sourcepub fn set_week_from_mon(&mut self, value: i64) -> Result<(), ParseError>
pub fn set_week_from_mon(&mut self, value: i64) -> Result<(), ParseError>
Tries to set the week_from_mon
field from given value.
sourcepub fn set_isoweek(&mut self, value: i64) -> Result<(), ParseError>
pub fn set_isoweek(&mut self, value: i64) -> Result<(), ParseError>
Tries to set the isoweek
field from given value.
sourcepub fn set_weekday(&mut self, value: Weekday) -> Result<(), ParseError>
pub fn set_weekday(&mut self, value: Weekday) -> Result<(), ParseError>
Tries to set the weekday
field from given value.
sourcepub fn set_ordinal(&mut self, value: i64) -> Result<(), ParseError>
pub fn set_ordinal(&mut self, value: i64) -> Result<(), ParseError>
Tries to set the ordinal
field from given value.
sourcepub fn set_day(&mut self, value: i64) -> Result<(), ParseError>
pub fn set_day(&mut self, value: i64) -> Result<(), ParseError>
Tries to set the day
field from given value.
sourcepub fn set_ampm(&mut self, value: bool) -> Result<(), ParseError>
pub fn set_ampm(&mut self, value: bool) -> Result<(), ParseError>
Tries to set the hour_div_12
field from given value.
(false
for AM, true
for PM)
sourcepub fn set_hour12(&mut self, value: i64) -> Result<(), ParseError>
pub fn set_hour12(&mut self, value: i64) -> Result<(), ParseError>
Tries to set the hour_mod_12
field from
given hour number in 12-hour clocks.
sourcepub fn set_hour(&mut self, value: i64) -> Result<(), ParseError>
pub fn set_hour(&mut self, value: i64) -> Result<(), ParseError>
Tries to set both hour_div_12
and
hour_mod_12
fields from given value.
sourcepub fn set_minute(&mut self, value: i64) -> Result<(), ParseError>
pub fn set_minute(&mut self, value: i64) -> Result<(), ParseError>
Tries to set the minute
field from given value.
sourcepub fn set_second(&mut self, value: i64) -> Result<(), ParseError>
pub fn set_second(&mut self, value: i64) -> Result<(), ParseError>
Tries to set the second
field from given value.
sourcepub fn set_nanosecond(&mut self, value: i64) -> Result<(), ParseError>
pub fn set_nanosecond(&mut self, value: i64) -> Result<(), ParseError>
Tries to set the nanosecond
field from given value.
sourcepub fn set_timestamp(&mut self, value: i64) -> Result<(), ParseError>
pub fn set_timestamp(&mut self, value: i64) -> Result<(), ParseError>
Tries to set the timestamp
field from given value.
sourcepub fn set_offset(&mut self, value: i64) -> Result<(), ParseError>
pub fn set_offset(&mut self, value: i64) -> Result<(), ParseError>
Tries to set the offset
field from given value.
sourcepub fn to_naive_date(&self) -> Result<NaiveDate, ParseError>
pub fn to_naive_date(&self) -> Result<NaiveDate, ParseError>
Returns a parsed naive date out of given fields.
This method is able to determine the date from given subset of fields:
- Year, month, day.
- Year, day of the year (ordinal).
- Year, week number counted from Sunday or Monday, day of the week.
- ISO week date.
Gregorian year and ISO week date year can have their century number (*_div_100
) omitted,
the two-digit year is used to guess the century number then.
sourcepub fn to_naive_time(&self) -> Result<NaiveTime, ParseError>
pub fn to_naive_time(&self) -> Result<NaiveTime, ParseError>
Returns a parsed naive time out of given fields.
This method is able to determine the time from given subset of fields:
- Hour, minute. (second and nanosecond assumed to be 0)
- Hour, minute, second. (nanosecond assumed to be 0)
- Hour, minute, second, nanosecond.
It is able to handle leap seconds when given second is 60.
sourcepub fn to_naive_datetime_with_offset(
&self,
offset: i32
) -> Result<NaiveDateTime, ParseError>
pub fn to_naive_datetime_with_offset(
&self,
offset: i32
) -> Result<NaiveDateTime, ParseError>
Returns a parsed naive date and time out of given fields,
except for the offset
field (assumed to have a given value).
This is required for parsing a local time or other known-timezone inputs.
This method is able to determine the combined date and time
from date and time fields or a single timestamp
field.
Either way those fields have to be consistent to each other.
sourcepub fn to_fixed_offset(&self) -> Result<FixedOffset, ParseError>
pub fn to_fixed_offset(&self) -> Result<FixedOffset, ParseError>
Returns a parsed fixed time zone offset out of given fields.
sourcepub fn to_datetime(&self) -> Result<DateTime<FixedOffset>, ParseError>
pub fn to_datetime(&self) -> Result<DateTime<FixedOffset>, ParseError>
Returns a parsed timezone-aware date and time out of given fields.
This method is able to determine the combined date and time
from date and time fields or a single timestamp
field,
plus a time zone offset.
Either way those fields have to be consistent to each other.
sourcepub fn to_datetime_with_timezone<Tz>(
&self,
tz: &Tz
) -> Result<DateTime<Tz>, ParseError> where
Tz: TimeZone,
pub fn to_datetime_with_timezone<Tz>(
&self,
tz: &Tz
) -> Result<DateTime<Tz>, ParseError> where
Tz: TimeZone,
Returns a parsed timezone-aware date and time out of given fields,
with an additional TimeZone
used to interpret and validate the local date.
This method is able to determine the combined date and time
from date and time fields or a single timestamp
field,
plus a time zone offset.
Either way those fields have to be consistent to each other.
If parsed fields include an UTC offset, it also has to be consistent to
offset
.
Trait Implementations
impl Eq for Parsed
impl StructuralEq for Parsed
impl StructuralPartialEq for Parsed
Auto Trait Implementations
impl RefUnwindSafe for Parsed
impl Send for Parsed
impl Sync for Parsed
impl Unpin for Parsed
impl UnwindSafe for Parsed
Blanket Implementations
sourceimpl<S, D, Swp, Dwp, T> AdaptInto<D, Swp, Dwp, T> for S where
T: FloatComponent,
Swp: WhitePoint,
Dwp: WhitePoint,
D: AdaptFrom<S, Swp, Dwp, T>,
impl<S, D, Swp, Dwp, T> AdaptInto<D, Swp, Dwp, T> for S where
T: FloatComponent,
Swp: WhitePoint,
Dwp: WhitePoint,
D: AdaptFrom<S, Swp, Dwp, T>,
sourcefn adapt_into_using<M>(self, method: M) -> D where
M: TransformMatrix<Swp, Dwp, T>,
fn adapt_into_using<M>(self, method: M) -> D where
M: TransformMatrix<Swp, Dwp, T>,
Convert the source color to the destination color using the specified method Read more
sourcefn adapt_into(self) -> D
fn adapt_into(self) -> D
Convert the source color to the destination color using the bradford method by default Read more
impl<Src, Scheme> ApproxFrom<Src, Scheme> for Src where
Scheme: ApproxScheme,
impl<Src, Scheme> ApproxFrom<Src, Scheme> for Src where
Scheme: ApproxScheme,
type Err = NoError
type Err = NoError
The error type produced by a failed conversion.
fn approx_from(src: Src) -> Result<Src, <Src as ApproxFrom<Src, Scheme>>::Err>
fn approx_from(src: Src) -> Result<Src, <Src as ApproxFrom<Src, Scheme>>::Err>
Convert the given value into an approximately equivalent representation.
impl<Dst, Src, Scheme> ApproxInto<Dst, Scheme> for Src where
Dst: ApproxFrom<Src, Scheme>,
Scheme: ApproxScheme,
impl<Dst, Src, Scheme> ApproxInto<Dst, Scheme> for Src where
Dst: ApproxFrom<Src, Scheme>,
Scheme: ApproxScheme,
type Err = <Dst as ApproxFrom<Src, Scheme>>::Err
type Err = <Dst as ApproxFrom<Src, Scheme>>::Err
The error type produced by a failed conversion.
fn approx_into(self) -> Result<Dst, <Src as ApproxInto<Dst, Scheme>>::Err>
fn approx_into(self) -> Result<Dst, <Src as ApproxInto<Dst, Scheme>>::Err>
Convert the subject into an approximately equivalent representation.
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
impl<T> ConvUtil for T
impl<T> ConvUtil for T
fn approx_as<Dst>(self) -> Result<Dst, Self::Err> where
Self: ApproxInto<Dst, DefaultApprox>,
fn approx_as<Dst>(self) -> Result<Dst, Self::Err> where
Self: ApproxInto<Dst, DefaultApprox>,
Approximate the subject to a given type with the default scheme.
fn approx_as_by<Dst, Scheme>(self) -> Result<Dst, Self::Err> where
Self: ApproxInto<Dst, Scheme>,
Scheme: ApproxScheme,
fn approx_as_by<Dst, Scheme>(self) -> Result<Dst, Self::Err> where
Self: ApproxInto<Dst, Scheme>,
Scheme: ApproxScheme,
Approximate the subject to a given type with a specific scheme.
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, U> IntoColor<U> for T where
U: FromColor<T>,
impl<T, U> IntoColor<U> for T where
U: FromColor<T>,
sourcefn into_color(self) -> U
fn into_color(self) -> U
Convert into T with values clamped to the color defined bounds Read more
sourceimpl<T, U> IntoColorUnclamped<U> for T where
U: FromColorUnclamped<T>,
impl<T, U> IntoColorUnclamped<U> for T where
U: FromColorUnclamped<T>,
sourcefn into_color_unclamped(self) -> U
fn into_color_unclamped(self) -> U
Convert into T. The resulting color might be invalid in its color space Read more
sourceimpl<T, U> TryIntoColor<U> for T where
U: TryFromColor<T>,
impl<T, U> TryIntoColor<U> for T where
U: TryFromColor<T>,
sourcefn try_into_color(self) -> Result<U, OutOfBounds<U>>
fn try_into_color(self) -> Result<U, OutOfBounds<U>>
Convert into T, returning ok if the color is inside of its defined
range, otherwise an OutOfBounds
error is returned which contains
the unclamped color. 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
impl<Src> ValueFrom<Src> for Src
impl<Src> ValueFrom<Src> for Src
type Err = NoError
type Err = NoError
The error type produced by a failed conversion.
fn value_from(src: Src) -> Result<Src, <Src as ValueFrom<Src>>::Err>
fn value_from(src: Src) -> Result<Src, <Src as ValueFrom<Src>>::Err>
Convert the given value into an exactly equivalent representation.
impl<Src, Dst> ValueInto<Dst> for Src where
Dst: ValueFrom<Src>,
impl<Src, Dst> ValueInto<Dst> for Src where
Dst: ValueFrom<Src>,
type Err = <Dst as ValueFrom<Src>>::Err
type Err = <Dst as ValueFrom<Src>>::Err
The error type produced by a failed conversion.
fn value_into(self) -> Result<Dst, <Src as ValueInto<Dst>>::Err>
fn value_into(self) -> Result<Dst, <Src as ValueInto<Dst>>::Err>
Convert the subject into an exactly equivalent representation.