Struct datetime::LocalDate[][src]

pub struct LocalDate { /* fields omitted */ }

A local date is a day-long span on the timeline, without a time zone.

Implementations

impl LocalDate[src]

pub fn ymd(year: i64, month: Month, day: i8) -> Result<Self, Error>[src]

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());

pub fn yd(year: i64, yearday: i64) -> Result<Self, Error>[src]

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);

pub fn ywd(year: i64, week: i64, weekday: Weekday) -> Result<Self, Error>[src]

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);

pub unsafe fn _new_with_prefilled_values(
    year: i64,
    month: Month,
    day: i8,
    weekday: Weekday,
    yearday: i16
) -> Self
[src]

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

impl Clone for LocalDate[src]

impl Copy for LocalDate[src]

impl DatePiece for LocalDate[src]

impl Debug for LocalDate[src]

impl Eq for LocalDate[src]

impl FromStr for LocalDate[src]

type Err = Error<DateTimeError>

The associated error which can be returned from parsing.

impl ISO for LocalDate[src]

impl Ord for LocalDate[src]

impl PartialEq<LocalDate> for LocalDate[src]

impl PartialOrd<LocalDate> for LocalDate[src]

impl StructuralEq for LocalDate[src]

impl Today for LocalDate[src]

Auto Trait Implementations

Blanket Implementations

impl<T> Any for T where
    T: 'static + ?Sized
[src]

impl<T> Borrow<T> for T where
    T: ?Sized
[src]

impl<T> BorrowMut<T> for T where
    T: ?Sized
[src]

impl<T> From<T> for T[src]

impl<T, U> Into<U> for T where
    U: From<T>, 
[src]

impl<T> ToOwned for T where
    T: Clone
[src]

type Owned = T

The resulting type after obtaining ownership.

impl<T, U> TryFrom<U> for T where
    U: Into<T>, 
[src]

type Error = Infallible

The type returned in the event of a conversion error.

impl<T, U> TryInto<U> for T where
    U: TryFrom<T>, 
[src]

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.