pub struct LocalDate { /* private fields */ }
Expand description
A local date is a day-long span on the timeline, without a time zone.
Implementations§
Source§impl LocalDate
impl LocalDate
Sourcepub fn ymd(year: i64, month: Month, day: i8) -> Result<Self, Error>
pub fn ymd(year: i64, month: Month, day: i8) -> Result<Self, Error>
Creates a new local date instance from the given year, month, and day fields.
The values are checked for validity before instantiation, and passing in values out of range will return an error.
§Examples
Instantiate the 20th of July 1969 based on its year, week-of-year, and weekday.
use datetime::{LocalDate, Month, DatePiece};
let date = LocalDate::ymd(1969, Month::July, 20).unwrap();
assert_eq!(date.year(), 1969);
assert_eq!(date.month(), Month::July);
assert_eq!(date.day(), 20);
assert!(LocalDate::ymd(2100, Month::February, 29).is_err());
Sourcepub fn yd(year: i64, yearday: i64) -> Result<Self, Error>
pub fn yd(year: i64, yearday: i64) -> Result<Self, Error>
Creates a new local date instance from the given year and day-of-year values.
The values are checked for validity before instantiation, and passing in values out of range will return an error.
§Examples
Instantiate the 13th of September 2015 based on its year and day-of-year.
use datetime::{LocalDate, Weekday, Month, DatePiece};
let date = LocalDate::yd(2015, 0x100).unwrap();
assert_eq!(date.year(), 2015);
assert_eq!(date.month(), Month::September);
assert_eq!(date.day(), 13);
Sourcepub fn ywd(year: i64, week: i64, weekday: Weekday) -> Result<Self, Error>
pub fn ywd(year: i64, week: i64, weekday: Weekday) -> Result<Self, Error>
Creates a new local date instance from the given year, week-of-year, and weekday values.
The values are checked for validity before instantiation, and passing in values out of range will return an error.
§Examples
Instantiate the 11th of September 2015 based on its year, week-of-year, and weekday.
use datetime::{LocalDate, Weekday, Month, DatePiece};
let date = LocalDate::ywd(2015, 37, Weekday::Friday).unwrap();
assert_eq!(date.year(), 2015);
assert_eq!(date.month(), Month::September);
assert_eq!(date.day(), 11);
assert_eq!(date.weekday(), Weekday::Friday);
Note that according to the ISO-8601 standard, the year will change when working with dates early in week 1, or late in week 53:
use datetime::{LocalDate, Weekday, Month, DatePiece};
let date = LocalDate::ywd(2009, 1, Weekday::Monday).unwrap();
assert_eq!(date.year(), 2008);
assert_eq!(date.month(), Month::December);
assert_eq!(date.day(), 29);
assert_eq!(date.weekday(), Weekday::Monday);
let date = LocalDate::ywd(2009, 53, Weekday::Sunday).unwrap();
assert_eq!(date.year(), 2010);
assert_eq!(date.month(), Month::January);
assert_eq!(date.day(), 3);
assert_eq!(date.weekday(), Weekday::Sunday);
Sourcepub unsafe fn _new_with_prefilled_values(
year: i64,
month: Month,
day: i8,
weekday: Weekday,
yearday: i16,
) -> Self
pub unsafe fn _new_with_prefilled_values( year: i64, month: Month, day: i8, weekday: Weekday, yearday: i16, ) -> Self
Creates a new datestamp instance with the given year, month, day, weekday, and yearday fields.
This function is unsafe because the values are not checked for
validity! It’s possible to pass the wrong values in, such as having
a wrong day value for a month, or having the yearday value out of
step. Before using it, check that the values are all correct - or just
use the date!()
macro, which does this for you at compile-time.
For this reason, the function is marked as unsafe
, even though it
(technically) uses unsafe components.
Trait Implementations§
Source§impl DatePiece for LocalDate
impl DatePiece for LocalDate
Source§fn year(&self) -> i64
fn year(&self) -> i64
Source§fn year_of_century(&self) -> i64
fn year_of_century(&self) -> i64
Source§fn years_from_2000(&self) -> i64
fn years_from_2000(&self) -> i64
Source§impl Ord for LocalDate
impl Ord for LocalDate
Source§impl PartialOrd for LocalDate
impl PartialOrd for LocalDate
impl Copy for LocalDate
impl Eq for LocalDate
Auto Trait Implementations§
impl Freeze for LocalDate
impl RefUnwindSafe for LocalDate
impl Send for LocalDate
impl Sync for LocalDate
impl Unpin for LocalDate
impl UnwindSafe for LocalDate
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
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
Source§unsafe fn clone_to_uninit(&self, dst: *mut T)
unsafe fn clone_to_uninit(&self, dst: *mut T)
clone_to_uninit
)