Struct chrono::format::parsed::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>,
}

Parsed parts of date and time. There are two classes of methods:

Fields

year

Year. This can be negative unlike year_{div,mod}_100 fields.

year_div_100

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

Year modulo 100. Implies that the year is >= 1 BCE when set.

isoyear

Year in the ISO week date. This can be negative unlike isoyear_{div,mod}_100 fields.

isoyear_div_100

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

Year in the ISO week date, modulo 100. Implies that the year is >= 1 BCE when set.

month

Month (1--12).

week_from_sun

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

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

ISO week number (1--52 or 1--53 depending on the year).

weekday

Day of the week.

ordinal

Day of the year (1--365 or 1--366 depending on the year).

day

Day of the month (1--28, 1--29, 1--30 or 1--31 depending on the month).

hour_div_12

Hour number divided by 12 (0--1). 0 indicates AM and 1 indicates PM.

hour_mod_12

Hour number modulo 12 (0--11).

minute

Minute number (0--59).

second

Second number (0--60, accounting for leap seconds).

nanosecond

The number of nanoseconds since the whole second (0--999,999,999).

timestamp

The number of non-leap seconds since January 1, 1970 0:00:00 UTC.

This can be off by one if second is 60 (a leap second).

offset

Offset from the local time to UTC, in seconds.

Methods

impl Parsed

fn new() -> Parsed

Returns the initial value of parsed parts.

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

Tries to set the year field from given value.

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

Tries to set the year_div_100 field from given value.

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

Tries to set the year_mod_100 field from given value.

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

Tries to set the isoyear field from given value.

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

Tries to set the isoyear_div_100 field from given value.

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

Tries to set the isoyear_mod_100 field from given value.

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

Tries to set the month field from given value.

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

Tries to set the week_from_sun field from given value.

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

Tries to set the week_from_mon field from given value.

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

Tries to set the isoweek field from given value.

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

Tries to set the weekday field from given value.

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

Tries to set the ordinal field from given value.

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

Tries to set the day field from given value.

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)

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

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

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

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

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

Tries to set the minute field from given value.

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

Tries to set the second field from given value.

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

Tries to set the nanosecond field from given value.

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

Tries to set the timestamp field from given value.

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

Tries to set the offset field from given value.

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.

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.

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.

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

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

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.

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

Derived Implementations

impl Debug for Parsed

fn fmt(&self, __arg_0: &mut Formatter) -> Result

impl PartialEq for Parsed

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

fn ne(&self, __arg_0: &Parsed) -> bool

impl Clone for Parsed

fn clone(&self) -> Parsed

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