Struct chrono::format::Parsed

source ·
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§

source§

impl Parsed

source

pub fn new() -> Parsed

Returns the initial value of parsed parts.

source

pub fn set_year(&mut self, value: i64) -> ParseResult<()>

Tries to set the year field from given value.

source

pub fn set_year_div_100(&mut self, value: i64) -> ParseResult<()>

Tries to set the year_div_100 field from given value.

source

pub fn set_year_mod_100(&mut self, value: i64) -> ParseResult<()>

Tries to set the year_mod_100 field from given value.

source

pub fn set_isoyear(&mut self, value: i64) -> ParseResult<()>

Tries to set the isoyear field from given value.

source

pub fn set_isoyear_div_100(&mut self, value: i64) -> ParseResult<()>

Tries to set the isoyear_div_100 field from given value.

source

pub fn set_isoyear_mod_100(&mut self, value: i64) -> ParseResult<()>

Tries to set the isoyear_mod_100 field from given value.

source

pub fn set_month(&mut self, value: i64) -> ParseResult<()>

Tries to set the month field from given value.

source

pub fn set_week_from_sun(&mut self, value: i64) -> ParseResult<()>

Tries to set the week_from_sun field from given value.

source

pub fn set_week_from_mon(&mut self, value: i64) -> ParseResult<()>

Tries to set the week_from_mon field from given value.

source

pub fn set_isoweek(&mut self, value: i64) -> ParseResult<()>

Tries to set the isoweek field from given value.

source

pub fn set_weekday(&mut self, value: Weekday) -> ParseResult<()>

Tries to set the weekday field from given value.

source

pub fn set_ordinal(&mut self, value: i64) -> ParseResult<()>

Tries to set the ordinal field from given value.

source

pub fn set_day(&mut self, value: i64) -> ParseResult<()>

Tries to set the day field from given value.

source

pub fn set_ampm(&mut self, value: bool) -> ParseResult<()>

Tries to set the hour_div_12 field from given value. (false for AM, true for PM)

source

pub fn set_hour12(&mut self, value: i64) -> ParseResult<()>

Tries to set the hour_mod_12 field from given hour number in 12-hour clocks.

source

pub fn set_hour(&mut self, value: i64) -> ParseResult<()>

Tries to set both hour_div_12 and hour_mod_12 fields from given value.

source

pub fn set_minute(&mut self, value: i64) -> ParseResult<()>

Tries to set the minute field from given value.

source

pub fn set_second(&mut self, value: i64) -> ParseResult<()>

Tries to set the second field from given value.

source

pub fn set_nanosecond(&mut self, value: i64) -> ParseResult<()>

Tries to set the nanosecond field from given value.

source

pub fn set_timestamp(&mut self, value: i64) -> ParseResult<()>

Tries to set the timestamp field from given value.

source

pub fn set_offset(&mut self, value: i64) -> ParseResult<()>

Tries to set the offset field from given value.

source

pub fn to_naive_date(&self) -> ParseResult<NaiveDate>

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.

source

pub fn to_naive_time(&self) -> ParseResult<NaiveTime>

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.

source

pub fn to_naive_datetime_with_offset( &self, offset: i32 ) -> ParseResult<NaiveDateTime>

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.

source

pub fn to_fixed_offset(&self) -> ParseResult<FixedOffset>

Returns a parsed fixed time zone offset out of given fields.

source

pub fn to_datetime(&self) -> ParseResult<DateTime<FixedOffset>>

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.

source

pub fn to_datetime_with_timezone<Tz: TimeZone>( &self, tz: &Tz ) -> ParseResult<DateTime<Tz>>

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§

source§

impl Clone for Parsed

source§

fn clone(&self) -> Parsed

Returns a copy of the value. Read more
1.0.0 · source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
source§

impl Debug for Parsed

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
source§

impl Default for Parsed

source§

fn default() -> Parsed

Returns the “default value” for a type. Read more
source§

impl Hash for Parsed

source§

fn hash<__H: Hasher>(&self, state: &mut __H)

Feeds this value into the given Hasher. Read more
1.3.0 · source§

fn hash_slice<H>(data: &[Self], state: &mut H)where H: Hasher, Self: Sized,

Feeds a slice of this type into the given Hasher. Read more
source§

impl PartialEq<Parsed> for Parsed

source§

fn eq(&self, other: &Parsed) -> bool

This method tests for self and other values to be equal, and is used by ==.
1.0.0 · source§

fn ne(&self, other: &Rhs) -> bool

This method tests for !=. The default implementation is almost always sufficient, and should not be overridden without very good reason.
source§

impl Eq for Parsed

source§

impl StructuralEq for Parsed

source§

impl StructuralPartialEq for Parsed

Auto Trait Implementations§

Blanket Implementations§

source§

impl<T> Any for Twhere T: 'static + ?Sized,

source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
source§

impl<T> Borrow<T> for Twhere T: ?Sized,

const: unstable · source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
source§

impl<T> BorrowMut<T> for Twhere T: ?Sized,

const: unstable · source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
source§

impl<T> From<T> for T

const: unstable · source§

fn from(t: T) -> T

Returns the argument unchanged.

source§

impl<T, U> Into<U> for Twhere U: From<T>,

const: unstable · source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

source§

impl<T> ToOwned for Twhere T: Clone,

§

type Owned = T

The resulting type after obtaining ownership.
source§

fn to_owned(&self) -> T

Creates owned data from borrowed data, usually by cloning. Read more
source§

fn clone_into(&self, target: &mut T)

Uses borrowed data to replace owned data, usually by cloning. Read more
source§

impl<T, U> TryFrom<U> for Twhere U: Into<T>,

§

type Error = Infallible

The type returned in the event of a conversion error.
const: unstable · source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
source§

impl<T, U> TryInto<U> for Twhere U: TryFrom<T>,

§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
const: unstable · source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.