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::{NaiveDate, Datelike, Weekday};
let d = NaiveDate::from_isoywd(2015, 1, Weekday::Mon);
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(2015, 15, Weekday::Mon);
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(2015, 15, Weekday::Mon);
assert_eq!(d.iso_week().week0(), 14);
Trait Implementations§
source§impl 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");
source§impl Ord for IsoWeek
impl Ord for IsoWeek
source§impl PartialEq<IsoWeek> for IsoWeek
impl PartialEq<IsoWeek> for IsoWeek
source§impl PartialOrd<IsoWeek> for IsoWeek
impl PartialOrd<IsoWeek> for IsoWeek
1.0.0 · source§fn le(&self, other: &Rhs) -> bool
fn le(&self, other: &Rhs) -> bool
This method tests less than or equal to (for
self
and other
) and is used by the <=
operator. Read more