pub struct IsoWeek { /* private fields */ }Expand description
ISO 8601 week.
This type, combined with Weekday,
constitutes the ISO 8601 week date.
One can retrieve this type from the existing Datelike types
via the Datelike::iso_week method.
Implementations§
Source§impl IsoWeek
impl IsoWeek
Sourcepub const fn year(&self) -> i32
pub const fn year(&self) -> i32
Returns the year number for this ISO week.
§Example
use chrono::{Datelike, NaiveDate, Weekday};
let d = NaiveDate::from_isoywd_opt(2015, 1, Weekday::Mon).unwrap();
assert_eq!(d.iso_week().year(), 2015);This year number might not match the calendar year number. Continuing the example…
assert_eq!(d.year(), 2014);
assert_eq!(d, NaiveDate::from_ymd_opt(2014, 12, 29).unwrap());Sourcepub const fn week(&self) -> u32
pub const fn week(&self) -> u32
Returns the ISO week number starting from 1.
The return value ranges from 1 to 53. (The last week of year differs by years.)
§Example
use chrono::{Datelike, NaiveDate, Weekday};
let d = NaiveDate::from_isoywd_opt(2015, 15, Weekday::Mon).unwrap();
assert_eq!(d.iso_week().week(), 15);Sourcepub const fn week0(&self) -> u32
pub const fn week0(&self) -> u32
Returns the ISO week number starting from 0.
The return value ranges from 0 to 52. (The last week of year differs by years.)
§Example
use chrono::{Datelike, NaiveDate, Weekday};
let d = NaiveDate::from_isoywd_opt(2015, 15, Weekday::Mon).unwrap();
assert_eq!(d.iso_week().week0(), 14);Trait Implementations§
Source§impl Debug for IsoWeek
The Debug output of the ISO week w is the same as
d.format("%G-W%V")
where d is any NaiveDate value in that week.
impl Debug for IsoWeek
The Debug output of the ISO week w is the same as
d.format("%G-W%V")
where d is any NaiveDate value in that week.
§Example
use chrono::{Datelike, NaiveDate};
assert_eq!(
format!("{:?}", NaiveDate::from_ymd_opt(2015, 9, 5).unwrap().iso_week()),
"2015-W36"
);
assert_eq!(format!("{:?}", NaiveDate::from_ymd_opt(0, 1, 3).unwrap().iso_week()), "0000-W01");
assert_eq!(
format!("{:?}", NaiveDate::from_ymd_opt(9999, 12, 31).unwrap().iso_week()),
"9999-W52"
);ISO 8601 requires an explicit sign for years before 1 BCE or after 9999 CE.
assert_eq!(format!("{:?}", NaiveDate::from_ymd_opt(0, 1, 2).unwrap().iso_week()), "-0001-W52");
assert_eq!(
format!("{:?}", NaiveDate::from_ymd_opt(10000, 12, 31).unwrap().iso_week()),
"+10000-W52"
);Source§impl Ord for IsoWeek
impl Ord for IsoWeek
Source§impl PartialOrd for IsoWeek
impl PartialOrd for IsoWeek
impl Copy for IsoWeek
impl Eq for IsoWeek
impl StructuralPartialEq for IsoWeek
Auto Trait Implementations§
impl Freeze for IsoWeek
impl RefUnwindSafe for IsoWeek
impl Send for IsoWeek
impl Sync for IsoWeek
impl Unpin for IsoWeek
impl UnwindSafe for IsoWeek
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
Source§impl<Q, K> Comparable<K> for Q
impl<Q, K> Comparable<K> for Q
Source§impl<T> Downcast for Twhere
T: Any,
impl<T> Downcast for Twhere
T: Any,
Source§fn into_any(self: Box<T>) -> Box<dyn Any>
fn into_any(self: Box<T>) -> Box<dyn Any>
Convert
Box<dyn Trait> (where Trait: Downcast) to Box<dyn Any>. Box<dyn Any> can
then be further downcast into Box<ConcreteType> where ConcreteType implements Trait.Source§fn into_any_rc(self: Rc<T>) -> Rc<dyn Any>
fn into_any_rc(self: Rc<T>) -> Rc<dyn Any>
Convert
Rc<Trait> (where Trait: Downcast) to Rc<Any>. Rc<Any> can then be
further downcast into Rc<ConcreteType> where ConcreteType implements Trait.Source§fn as_any(&self) -> &(dyn Any + 'static)
fn as_any(&self) -> &(dyn Any + 'static)
Convert
&Trait (where Trait: Downcast) to &Any. This is needed since Rust cannot
generate &Any’s vtable from &Trait’s.Source§fn as_any_mut(&mut self) -> &mut (dyn Any + 'static)
fn as_any_mut(&mut self) -> &mut (dyn Any + 'static)
Convert
&mut Trait (where Trait: Downcast) to &Any. This is needed since Rust cannot
generate &mut Any’s vtable from &mut Trait’s.Source§impl<T> DowncastSync for T
impl<T> DowncastSync for T
Source§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
Source§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
Source§fn equivalent(&self, key: &K) -> bool
fn equivalent(&self, key: &K) -> bool
Compare self to
key and return true if they are equal.Source§impl<T> Instrument for T
impl<T> Instrument for T
Source§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
Source§fn in_current_span(self) -> Instrumented<Self>
fn in_current_span(self) -> Instrumented<Self>
Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self>
fn into_either(self, into_left: bool) -> Either<Self, Self>
Converts
self into a Left variant of Either<Self, Self>
if into_left is true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
Converts
self into a Left variant of Either<Self, Self>
if into_left(&self) returns true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read more