# Struct chrono::format::Parsed [−] [src]

    pub struct Parsed {
        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>,
        // some fields omitted
    }

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

### `impl Parsed` [src]

#### `pub fn new() -> Parsed` [src]

Returns the initial value of parsed parts.

#### `pub fn set_year(&mut self, value: i64) -> ParseResult<()>` [src]

Tries to set the `year` field from given value.

#### `pub fn set_year_div_100(&mut self, value: i64) -> ParseResult<()>` [src]

Tries to set the `year_div_100` field from given value.

#### `pub fn set_year_mod_100(&mut self, value: i64) -> ParseResult<()>` [src]

Tries to set the `year_mod_100` field from given value.

#### `pub fn set_isoyear(&mut self, value: i64) -> ParseResult<()>` [src]

Tries to set the `isoyear` field from given value.

#### `pub fn set_isoyear_div_100(&mut self, value: i64) -> ParseResult<()>` [src]

Tries to set the `isoyear_div_100` field from given value.

#### `pub fn set_isoyear_mod_100(&mut self, value: i64) -> ParseResult<()>` [src]

Tries to set the `isoyear_mod_100` field from given value.

#### `pub fn set_month(&mut self, value: i64) -> ParseResult<()>` [src]

Tries to set the `month` field from given value.

#### `pub fn set_week_from_sun(&mut self, value: i64) -> ParseResult<()>` [src]

Tries to set the `week_from_sun` field from given value.

#### `pub fn set_week_from_mon(&mut self, value: i64) -> ParseResult<()>` [src]

Tries to set the `week_from_mon` field from given value.

#### `pub fn set_isoweek(&mut self, value: i64) -> ParseResult<()>` [src]

Tries to set the `isoweek` field from given value.

#### `pub fn set_weekday(&mut self, value: Weekday) -> ParseResult<()>` [src]

Tries to set the `weekday` field from given value.

#### `pub fn set_ordinal(&mut self, value: i64) -> ParseResult<()>` [src]

Tries to set the `ordinal` field from given value.

#### `pub fn set_day(&mut self, value: i64) -> ParseResult<()>` [src]

Tries to set the `day` field from given value.

#### `pub fn set_ampm(&mut self, value: bool) -> ParseResult<()>` [src]

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

#### `pub fn set_hour12(&mut self, value: i64) -> ParseResult<()>` [src]

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

#### `pub fn set_hour(&mut self, value: i64) -> ParseResult<()>` [src]

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

#### `pub fn set_minute(&mut self, value: i64) -> ParseResult<()>` [src]

Tries to set the `minute` field from given value.

#### `pub fn set_second(&mut self, value: i64) -> ParseResult<()>` [src]

Tries to set the `second` field from given value.

#### `pub fn set_nanosecond(&mut self, value: i64) -> ParseResult<()>` [src]

Tries to set the `nanosecond` field from given value.

#### `pub fn set_timestamp(&mut self, value: i64) -> ParseResult<()>` [src]

Tries to set the `timestamp` field from given value.

#### `pub fn set_offset(&mut self, value: i64) -> ParseResult<()>` [src]

Tries to set the `offset` field from given value.

#### `pub fn to_naive_date(&self) -> ParseResult<NaiveDate>` [src]

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.

#### `pub fn to_naive_time(&self) -> ParseResult<NaiveTime>` [src]

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.

#### `pub fn to_naive_datetime_with_offset(
&self,
offset: i32
) -> ParseResult<NaiveDateTime>` [src]

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.

#### `pub fn to_fixed_offset(&self) -> ParseResult<FixedOffset>` [src]

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

#### `pub fn to_datetime(&self) -> ParseResult<DateTime<FixedOffset>>` [src]

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.

#### `pub fn to_datetime_with_timezone<Tz: TimeZone>(
&self,
tz: &Tz
) -> ParseResult<DateTime<Tz>>` [src]

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 Clone for Parsed` [src]

#### `fn clone(&self) -> Parsed` [src]

Returns a copy of the value. Read more

#### `pub fn clone_from(&mut self, source: &Self)`1.0.0 [src]

Performs copy-assignment from `source`. Read more

### `impl Debug for Parsed` [src]

#### `fn fmt(&self, f: &mut Formatter<'_>) -> Result` [src]

Formats the value using the given formatter. Read more

### `impl Default for Parsed` [src]

#### `fn default() -> Parsed` [src]

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

### `impl PartialEq<Parsed> for Parsed` [src]

#### `fn eq(&self, other: &Parsed) -> bool` [src]

This method tests for `self` and `other` values to be equal, and is used by `==`. Read more

#### `fn ne(&self, other: &Parsed) -> bool` [src]

This method tests for `!=`.

### `impl StructuralPartialEq for Parsed` [src]

## 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

### `impl<T> Any for T where
T: 'static + ?Sized,` [src]

#### `pub fn type_id(&self) -> TypeId` [src]

Gets the `TypeId` of `self`. Read more

### `impl<T> Borrow<T> for T where
T: ?Sized,` [src]

#### `pub fn borrow(&self) -> &T` [src]

Immutably borrows from an owned value. Read more

### `impl<T> BorrowMut<T> for T where
T: ?Sized,` [src]

#### `pub fn borrow_mut(&mut self) -> &mut T` [src]

Mutably borrows from an owned value. Read more

### `impl<T> From<T> for T` [src]

#### `pub fn from(t: T) -> T` [src]

Performs the conversion.

### `impl<T, U> Into<U> for T where
U: From<T>,` [src]

#### `pub fn into(self) -> U` [src]

Performs the conversion.

### `impl<T> ToOwned for T where
T: Clone,` [src]

#### `type Owned = T`

The resulting type after obtaining ownership.

#### `pub fn to_owned(&self) -> T` [src]

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

#### `pub fn clone_into(&self, target: &mut T)` [src]

🔬 This is a nightly-only experimental API. (`toowned_clone_into`)

recently added

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

### `impl<T, U> TryFrom<U> for T where
U: Into<T>,` [src]

#### `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]

Performs the conversion.

### `impl<T, U> TryInto<U> for T where
U: TryFrom<T>,` [src]

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

The type returned in the event of a conversion error.

#### `pub fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>` [src]

Performs the conversion.