pub struct NaiveWeek { /* private fields */ }
Expand description
Implementations§
Source§impl NaiveWeek
impl NaiveWeek
Sourcepub const fn first_day(&self) -> NaiveDate
pub const fn first_day(&self) -> NaiveDate
Returns a date representing the first day of the week.
§Panics
Panics if the first day of the week happens to fall just out of range of NaiveDate
(more than ca. 262,000 years away from common era).
§Examples
use chrono::{NaiveDate, Weekday};
let date = NaiveDate::from_ymd_opt(2022, 4, 18).unwrap();
let week = date.week(Weekday::Mon);
assert!(week.first_day() <= date);
Sourcepub const fn checked_first_day(&self) -> Option<NaiveDate>
pub const fn checked_first_day(&self) -> Option<NaiveDate>
Returns a date representing the first day of the week or
None
if the date is out of NaiveDate
’s range
(more than ca. 262,000 years away from common era).
§Examples
use chrono::{NaiveDate, Weekday};
let date = NaiveDate::MIN;
let week = date.week(Weekday::Mon);
if let Some(first_day) = week.checked_first_day() {
assert!(first_day == date);
} else {
// error handling code
return;
};
Sourcepub const fn last_day(&self) -> NaiveDate
pub const fn last_day(&self) -> NaiveDate
Returns a date representing the last day of the week.
§Panics
Panics if the last day of the week happens to fall just out of range of NaiveDate
(more than ca. 262,000 years away from common era).
§Examples
use chrono::{NaiveDate, Weekday};
let date = NaiveDate::from_ymd_opt(2022, 4, 18).unwrap();
let week = date.week(Weekday::Mon);
assert!(week.last_day() >= date);
Sourcepub const fn checked_last_day(&self) -> Option<NaiveDate>
pub const fn checked_last_day(&self) -> Option<NaiveDate>
Returns a date representing the last day of the week or
None
if the date is out of NaiveDate
’s range
(more than ca. 262,000 years away from common era).
§Examples
use chrono::{NaiveDate, Weekday};
let date = NaiveDate::MAX;
let week = date.week(Weekday::Mon);
if let Some(last_day) = week.checked_last_day() {
assert!(last_day == date);
} else {
// error handling code
return;
};
Sourcepub const fn days(&self) -> RangeInclusive<NaiveDate>
pub const fn days(&self) -> RangeInclusive<NaiveDate>
Returns a RangeInclusive<T>
representing the whole week bounded by
first_day and last_day functions.
§Panics
Panics if the either the first or last day of the week happens to fall just out of range of
NaiveDate
(more than ca. 262,000 years away from common era).
§Examples
use chrono::{NaiveDate, Weekday};
let date = NaiveDate::from_ymd_opt(2022, 4, 18).unwrap();
let week = date.week(Weekday::Mon);
let days = week.days();
assert!(days.contains(&date));
Sourcepub const fn checked_days(&self) -> Option<RangeInclusive<NaiveDate>>
pub const fn checked_days(&self) -> Option<RangeInclusive<NaiveDate>>
Returns an Option<RangeInclusive<T>>
representing the whole week bounded by
checked_first_day and
checked_last_day functions.
Returns None
if either of the boundaries are out of NaiveDate
’s range
(more than ca. 262,000 years away from common era).
§Examples
use chrono::{NaiveDate, Weekday};
let date = NaiveDate::MAX;
let week = date.week(Weekday::Mon);
let _days = match week.checked_days() {
Some(d) => d,
None => {
// error handling code
return;
}
};