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