Struct chrono::date::Date [] [src]

pub struct Date<Tz: TimeZone> {
    // some fields omitted
}

ISO 8601 calendar date with time zone.

This type should be considered ambiguous at best, due to the inherent lack of precision required for the time zone resolution. There are some guarantees on the usage of Date<Tz>:

Methods

impl<Tz: TimeZone> Date<Tz>

fn from_utc(date: NaiveDate, offset: Tz::Offset) -> Date<Tz>

Makes a new Date with given UTC date and offset. The local date should be constructed via the TimeZone trait.

fn and_time(&self, time: NaiveTime) -> Option<DateTime<Tz>>

Makes a new DateTime from the current date and given NaiveTime. The offset in the current date is preserved.

Panics on invalid datetime.

fn and_hms(&self, hour: u32, min: u32, sec: u32) -> DateTime<Tz>

Makes a new DateTime from the current date, hour, minute and second. The offset in the current date is preserved.

Panics on invalid hour, minute and/or second.

fn and_hms_opt(&self, hour: u32, min: u32, sec: u32) -> Option<DateTime<Tz>>

Makes a new DateTime from the current date, hour, minute and second. The offset in the current date is preserved.

Returns None on invalid hour, minute and/or second.

fn and_hms_milli(&self, hour: u32, min: u32, sec: u32, milli: u32) -> DateTime<Tz>

Makes a new DateTime from the current date, hour, minute, second and millisecond. The millisecond part can exceed 1,000 in order to represent the leap second. The offset in the current date is preserved.

Panics on invalid hour, minute, second and/or millisecond.

fn and_hms_milli_opt(&self, hour: u32, min: u32, sec: u32, milli: u32) -> Option<DateTime<Tz>>

Makes a new DateTime from the current date, hour, minute, second and millisecond. The millisecond part can exceed 1,000 in order to represent the leap second. The offset in the current date is preserved.

Returns None on invalid hour, minute, second and/or millisecond.

fn and_hms_micro(&self, hour: u32, min: u32, sec: u32, micro: u32) -> DateTime<Tz>

Makes a new DateTime from the current date, hour, minute, second and microsecond. The microsecond part can exceed 1,000,000 in order to represent the leap second. The offset in the current date is preserved.

Panics on invalid hour, minute, second and/or microsecond.

fn and_hms_micro_opt(&self, hour: u32, min: u32, sec: u32, micro: u32) -> Option<DateTime<Tz>>

Makes a new DateTime from the current date, hour, minute, second and microsecond. The microsecond part can exceed 1,000,000 in order to represent the leap second. The offset in the current date is preserved.

Returns None on invalid hour, minute, second and/or microsecond.

fn and_hms_nano(&self, hour: u32, min: u32, sec: u32, nano: u32) -> DateTime<Tz>

Makes a new DateTime from the current date, hour, minute, second and nanosecond. The nanosecond part can exceed 1,000,000,000 in order to represent the leap second. The offset in the current date is preserved.

Panics on invalid hour, minute, second and/or nanosecond.

fn and_hms_nano_opt(&self, hour: u32, min: u32, sec: u32, nano: u32) -> Option<DateTime<Tz>>

Makes a new DateTime from the current date, hour, minute, second and nanosecond. The nanosecond part can exceed 1,000,000,000 in order to represent the leap second. The offset in the current date is preserved.

Returns None on invalid hour, minute, second and/or nanosecond.

fn succ(&self) -> Date<Tz>

Makes a new Date for the next date.

Panics when self is the last representable date.

fn succ_opt(&self) -> Option<Date<Tz>>

Makes a new Date for the next date.

Returns None when self is the last representable date.

fn pred(&self) -> Date<Tz>

Makes a new Date for the prior date.

Panics when self is the first representable date.

fn pred_opt(&self) -> Option<Date<Tz>>

Makes a new Date for the prior date.

Returns None when self is the first representable date.

fn offset<'a>(&'a self) -> &'a Tz::Offset

Retrieves an associated offset from UTC.

fn timezone(&self) -> Tz

Retrieves an associated time zone.

fn with_timezone<Tz2: TimeZone>(&self, tz: &Tz2) -> Date<Tz2>

Changes the associated time zone. This does not change the actual Date (but will change the string representation).

fn checked_add(self, rhs: Duration) -> Option<Date<Tz>>

Adds given Duration to the current date.

Returns None when it will result in overflow.

fn checked_sub(self, rhs: Duration) -> Option<Date<Tz>>

Subtracts given Duration from the current date.

Returns None when it will result in overflow.

fn naive_utc(&self) -> NaiveDate

Returns a view to the naive UTC date.

fn naive_local(&self) -> NaiveDate

Returns a view to the naive local date.

impl<Tz: TimeZone> Date<Tz> where Tz::Offset: Display

fn format_with_items<'a, I>(&self, items: I) -> DelayedFormat<I> where I: Iterator<Item=Item<'a>> + Clone

Formats the date with the specified formatting items.

fn format<'a>(&self, fmt: &'a str) -> DelayedFormat<StrftimeItems<'a>>

Formats the date with the specified format string. See the format::strftime module on the supported escape sequences.

Trait Implementations

impl<Tz: TimeZone> Datelike for Date<Tz>

fn year(&self) -> i32

fn month(&self) -> u32

fn month0(&self) -> u32

fn day(&self) -> u32

fn day0(&self) -> u32

fn ordinal(&self) -> u32

fn ordinal0(&self) -> u32

fn weekday(&self) -> Weekday

fn isoweekdate(&self) -> (i32, u32, Weekday)

fn with_year(&self, year: i32) -> Option<Date<Tz>>

fn with_month(&self, month: u32) -> Option<Date<Tz>>

fn with_month0(&self, month0: u32) -> Option<Date<Tz>>

fn with_day(&self, day: u32) -> Option<Date<Tz>>

fn with_day0(&self, day0: u32) -> Option<Date<Tz>>

fn with_ordinal(&self, ordinal: u32) -> Option<Date<Tz>>

fn with_ordinal0(&self, ordinal0: u32) -> Option<Date<Tz>>

fn year_ce(&self) -> (bool, u32)

fn num_days_from_ce(&self) -> i32

impl<Tz: TimeZone> Copy for Date<Tz> where Tz::Offset: Copy

impl<Tz: TimeZone> Send for Date<Tz> where Tz::Offset: Send

impl<Tz: TimeZone, Tz2: TimeZone> PartialEq<Date<Tz2>> for Date<Tz>

fn eq(&self, other: &Date<Tz2>) -> bool

fn ne(&self, other: &Rhs) -> bool

impl<Tz: TimeZone> Eq for Date<Tz>

impl<Tz: TimeZone> PartialOrd for Date<Tz>

fn partial_cmp(&self, other: &Date<Tz>) -> Option<Ordering>

fn lt(&self, other: &Rhs) -> bool

fn le(&self, other: &Rhs) -> bool

fn gt(&self, other: &Rhs) -> bool

fn ge(&self, other: &Rhs) -> bool

impl<Tz: TimeZone> Ord for Date<Tz>

fn cmp(&self, other: &Date<Tz>) -> Ordering

impl<Tz: TimeZone> Hash for Date<Tz>

fn hash<H: Hasher>(&self, state: &mut H)

fn hash_slice<H>(data: &[Self], state: &mut H) where H: Hasher

impl<Tz: TimeZone> Add<Duration> for Date<Tz>

type Output = Date<Tz>

fn add(self, rhs: Duration) -> Date<Tz>

impl<Tz: TimeZone, Tz2: TimeZone> Sub<Date<Tz2>> for Date<Tz>

type Output = Duration

fn sub(self, rhs: Date<Tz2>) -> Duration

impl<Tz: TimeZone> Sub<Duration> for Date<Tz>

type Output = Date<Tz>

fn sub(self, rhs: Duration) -> Date<Tz>

impl<Tz: TimeZone> Debug for Date<Tz>

fn fmt(&self, f: &mut Formatter) -> Result

impl<Tz: TimeZone> Display for Date<Tz> where Tz::Offset: Display

fn fmt(&self, f: &mut Formatter) -> Result

Derived Implementations

impl<Tz: Clone + TimeZone> Clone for Date<Tz> where Tz::Offset: Clone

fn clone(&self) -> Date<Tz>

fn clone_from(&mut self, source: &Self)