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
sourceimpl 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::{NaiveDate, Datelike, 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::{NaiveDate, Datelike, 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::{NaiveDate, Datelike, Weekday};
let d = NaiveDate::from_isoywd_opt(2015, 15, Weekday::Mon).unwrap();
assert_eq!(d.iso_week().week0(), 14);
Trait Implementations
sourceimpl Debug for IsoWeek
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::{NaiveDate, Datelike};
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");
sourceimpl Hash for IsoWeek
impl Hash for IsoWeek
sourcefn hash<__H: Hasher>(&self, state: &mut __H)
fn hash<__H: Hasher>(&self, state: &mut __H)
Feeds this value into the given [
Hasher
]. Read more1.3.0fn hash_slice<H>(data: &[Self], state: &mut H)where
H: Hasher,
fn hash_slice<H>(data: &[Self], state: &mut H)where
H: Hasher,
Feeds a slice of this type into the given [
Hasher
]. Read moresourceimpl Ord for IsoWeek
impl Ord for IsoWeek
sourceimpl PartialOrd<IsoWeek> for IsoWeek
impl PartialOrd<IsoWeek> for IsoWeek
impl Copy for IsoWeek
impl Eq for IsoWeek
impl StructuralEq for IsoWeek
impl StructuralPartialEq for IsoWeek
Auto Trait Implementations
impl RefUnwindSafe for IsoWeek
impl Send for IsoWeek
impl Sync for IsoWeek
impl Unpin for IsoWeek
impl UnwindSafe for IsoWeek
Blanket Implementations
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
const: unstablefn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more
impl<T> ToOwned for Twhere
T: Clone,
impl<T> ToOwned for Twhere
T: Clone,
type Owned = T
type Owned = T
The resulting type after obtaining ownership.
fn clone_into(&self, target: &mut T)
fn clone_into(&self, target: &mut T)
Uses borrowed data to replace owned data, usually by cloning. Read more