pub struct IsoWeek {
ywf: i32,
}
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.
Fields§
§ywf: i32
Implementations§
source§impl IsoWeek
impl IsoWeek
sourcepub(super) fn from_yof(year: i32, ordinal: u32, year_flags: YearFlags) -> Self
pub(super) fn from_yof(year: i32, ordinal: u32, year_flags: YearFlags) -> Self
Returns the corresponding IsoWeek
from the year and the Of
internal value.
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
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 PartialEq for IsoWeek
impl PartialEq for IsoWeek
source§impl PartialOrd for IsoWeek
impl PartialOrd for IsoWeek
1.0.0 · source§fn le(&self, other: &Rhs) -> bool
fn le(&self, other: &Rhs) -> bool
self
and other
) and is used by the <=
operator. Read more