Struct chrono::naive::NaiveWeek

source ·
pub struct NaiveWeek {
    date: NaiveDate,
    start: Weekday,
}
Expand description

A week represented by a NaiveDate and a Weekday which is the first day of the week.

Fields§

§date: NaiveDate§start: Weekday

Implementations§

source§

impl NaiveWeek

source

pub(crate) const fn new(date: NaiveDate, start: Weekday) -> Self

Create a new NaiveWeek

source

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);
source

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;
};
source

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);
source

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;
};
source

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));
source

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;
    }
};

Trait Implementations§

source§

impl Clone for NaiveWeek

source§

fn clone(&self) -> NaiveWeek

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 NaiveWeek

source§

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

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

impl Hash for NaiveWeek

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 for NaiveWeek

source§

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

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

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

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

impl Copy for NaiveWeek

source§

impl Eq for NaiveWeek

source§

impl StructuralPartialEq for NaiveWeek

Auto Trait Implementations§

Blanket Implementations§

source§

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

source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
source§

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

source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
source§

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

source§

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

Mutably borrows from an owned value. Read more
source§

impl<T> CloneToUninit for T
where T: Clone,

source§

unsafe fn clone_to_uninit(&self, dst: *mut T)

🔬This is a nightly-only experimental API. (clone_to_uninit)
Performs copy-assignment from self to dst. Read more
source§

impl<T> From<T> for T

source§

fn from(t: T) -> T

Returns the argument unchanged.

source§

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

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 T
where T: Clone,

source§

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 T
where U: Into<T>,

source§

type Error = Infallible

The type returned in the event of a conversion error.
source§

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

Performs the conversion.
source§

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

source§

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

The type returned in the event of a conversion error.
source§

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

Performs the conversion.