pub enum Weekday {
    Mon,
    Tue,
    Wed,
    Thu,
    Fri,
    Sat,
    Sun,
}
Expand description

The day of week.

The order of the days of week depends on the context. (This is why this type does not implement PartialOrd or Ord traits.) One should prefer *_from_monday or *_from_sunday methods to get the correct result.

Example

use chrono::Weekday;

let monday = "Monday".parse::<Weekday>().unwrap();
assert_eq!(monday, Weekday::Mon);

let sunday = Weekday::try_from(6).unwrap();
assert_eq!(sunday, Weekday::Sun);

assert_eq!(sunday.num_days_from_monday(), 6); // starts counting with Monday = 0
assert_eq!(sunday.number_from_monday(), 7); // starts counting with Monday = 1
assert_eq!(sunday.num_days_from_sunday(), 0); // starts counting with Sunday = 0
assert_eq!(sunday.number_from_sunday(), 1); // starts counting with Sunday = 1

assert_eq!(sunday.succ(), monday);
assert_eq!(sunday.pred(), Weekday::Sat);

Variants

Mon

Monday.

Tue

Tuesday.

Wed

Wednesday.

Thu

Thursday.

Fri

Friday.

Sat

Saturday.

Sun

Sunday.

Implementations

The next day in the week.

w:MonTueWedThuFriSatSun
w.succ():TueWedThuFriSatSunMon

The previous day in the week.

w:MonTueWedThuFriSatSun
w.pred():SunMonTueWedThuFriSat

Returns a day-of-week number starting from Monday = 1. (ISO 8601 weekday number)

w:MonTueWedThuFriSatSun
w.number_from_monday():1234567

Returns a day-of-week number starting from Sunday = 1.

w:MonTueWedThuFriSatSun
w.number_from_sunday():2345671

Returns a day-of-week number starting from Monday = 0.

w:MonTueWedThuFriSatSun
w.num_days_from_monday():0123456

Returns a day-of-week number starting from Sunday = 0.

w:MonTueWedThuFriSatSun
w.num_days_from_sunday():1234560

Trait Implementations

Returns a copy of the value. Read more
Performs copy-assignment from source. Read more
Formats the value using the given formatter. Read more
Formats the value using the given formatter. Read more

Any weekday can be represented as an integer from 0 to 6, which equals to Weekday::num_days_from_monday in this implementation. Do not heavily depend on this though; use explicit methods whenever possible.

Converts an i64 to return an optional value of this type. If the value cannot be represented by this type, then None is returned. Read more
Converts an u64 to return an optional value of this type. If the value cannot be represented by this type, then None is returned. Read more
Converts an isize to return an optional value of this type. If the value cannot be represented by this type, then None is returned. Read more
Converts an i8 to return an optional value of this type. If the value cannot be represented by this type, then None is returned. Read more
Converts an i16 to return an optional value of this type. If the value cannot be represented by this type, then None is returned. Read more
Converts an i32 to return an optional value of this type. If the value cannot be represented by this type, then None is returned. Read more
Converts an i128 to return an optional value of this type. If the value cannot be represented by this type, then None is returned. Read more
Converts a usize to return an optional value of this type. If the value cannot be represented by this type, then None is returned. Read more
Converts an u8 to return an optional value of this type. If the value cannot be represented by this type, then None is returned. Read more
Converts an u16 to return an optional value of this type. If the value cannot be represented by this type, then None is returned. Read more
Converts an u32 to return an optional value of this type. If the value cannot be represented by this type, then None is returned. Read more
Converts an u128 to return an optional value of this type. If the value cannot be represented by this type, then None is returned. Read more
Converts a f32 to return an optional value of this type. If the value cannot be represented by this type, then None is returned. Read more
Converts a f64 to return an optional value of this type. If the value cannot be represented by this type, then None is returned. Read more

Parsing a str into a Weekday uses the format %W.

Example

use chrono::Weekday;

assert_eq!("Sunday".parse::<Weekday>(), Ok(Weekday::Sun));
assert!("any day".parse::<Weekday>().is_err());

The parsing is case-insensitive.

assert_eq!("mON".parse::<Weekday>(), Ok(Weekday::Mon));

Only the shortest form (e.g. sun) and the longest form (e.g. sunday) is accepted.

assert!("thurs".parse::<Weekday>().is_err());
The associated error which can be returned from parsing.
Parses a string s to return a value of this type. Read more
Feeds this value into the given Hasher. Read more
Feeds a slice of this type into the given Hasher. Read more
This method tests for self and other values to be equal, and is used by ==. Read more
This method tests for !=. The default implementation is almost always sufficient, and should not be overridden without very good reason. Read more

Any weekday can be represented as an integer from 0 to 6, which equals to Weekday::num_days_from_monday in this implementation. Do not heavily depend on this though; use explicit methods whenever possible.

The type returned in the event of a conversion error.
Performs the conversion.

Auto Trait Implementations

Blanket Implementations

Gets the TypeId of self. Read more
Immutably borrows from an owned value. Read more
Mutably borrows from an owned value. Read more

Returns the argument unchanged.

Calls U::from(self).

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

The type returned in the event of a conversion error.
Performs the conversion.
The type returned in the event of a conversion error.
Performs the conversion.