[−][src]Struct elastic::types::prelude::DateValue
A date value produced and consumed by date formats.
DateValue
is a very thin wrapper over DateTime<Utc>
that doesn't carry any formatting semantics.
Like FormattableDateValue
, this type is used for binding generics in methods that accept date values but it ignores any format on the input type.
You probably won't need to use it directly except to clobber the format on a Date<M>
or DateTime<Utc>
value.
Methods
impl DateValue
[src]
pub fn now() -> DateValue
[src]
Equivalent to DateTime<Utc>::now()
pub fn build(
year: i32,
month: u32,
day: u32,
hour: u32,
minute: u32,
second: u32,
milli: u32
) -> DateValue
[src]
year: i32,
month: u32,
day: u32,
hour: u32,
minute: u32,
second: u32,
milli: u32
) -> DateValue
Construct a DateValue
from individual parts.
Methods from Deref<Target = DateTime<Utc>>
pub fn date(&self) -> Date<Tz>
[src]
Retrieves a date component.
pub fn time(&self) -> NaiveTime
[src]
Retrieves a time component.
Unlike date
, this is not associated to the time zone.
pub fn timestamp(&self) -> i64
[src]
Returns the number of non-leap seconds since January 1, 1970 0:00:00 UTC (aka "UNIX timestamp").
pub fn timestamp_millis(&self) -> i64
[src]
Returns the number of non-leap-milliseconds since January 1, 1970 UTC
Note that this does reduce the number of years that can be represented from ~584 Billion to ~584 Million. (If this is a problem, please file an issue to let me know what domain needs millisecond precision over billions of years, I'm curious.)
Example
use chrono::Utc; use chrono::TimeZone; let dt = Utc.ymd(1970, 1, 1).and_hms_milli(0, 0, 1, 444); assert_eq!(dt.timestamp_millis(), 1_444); let dt = Utc.ymd(2001, 9, 9).and_hms_milli(1, 46, 40, 555); assert_eq!(dt.timestamp_millis(), 1_000_000_000_555);
pub fn timestamp_nanos(&self) -> i64
[src]
Returns the number of non-leap-nanoseconds since January 1, 1970 UTC
Note that this does reduce the number of years that can be represented from ~584 Billion to ~584. (If this is a problem, please file an issue to let me know what domain needs nanosecond precision over millenia, I'm curious.)
Example
use chrono::Utc; use chrono::TimeZone; let dt = Utc.ymd(1970, 1, 1).and_hms_nano(0, 0, 1, 444); assert_eq!(dt.timestamp_nanos(), 1_000_000_444); let dt = Utc.ymd(2001, 9, 9).and_hms_nano(1, 46, 40, 555); assert_eq!(dt.timestamp_nanos(), 1_000_000_000_000_000_555);
pub fn timestamp_subsec_millis(&self) -> u32
[src]
Returns the number of milliseconds since the last second boundary
warning: in event of a leap second, this may exceed 999
note: this is not the number of milliseconds since January 1, 1970 0:00:00 UTC
pub fn timestamp_subsec_micros(&self) -> u32
[src]
Returns the number of microseconds since the last second boundary
warning: in event of a leap second, this may exceed 999_999
note: this is not the number of microseconds since January 1, 1970 0:00:00 UTC
pub fn timestamp_subsec_nanos(&self) -> u32
[src]
Returns the number of nanoseconds since the last second boundary
warning: in event of a leap second, this may exceed 999_999_999
note: this is not the number of nanoseconds since January 1, 1970 0:00:00 UTC
pub fn offset(&self) -> &<Tz as TimeZone>::Offset
[src]
Retrieves an associated offset from UTC.
pub fn timezone(&self) -> Tz
[src]
Retrieves an associated time zone.
pub fn with_timezone<Tz2>(&self, tz: &Tz2) -> DateTime<Tz2> where
Tz2: TimeZone,
[src]
Tz2: TimeZone,
Changes the associated time zone.
This does not change the actual DateTime
(but will change the string representation).
pub fn naive_utc(&self) -> NaiveDateTime
[src]
Returns a view to the naive UTC datetime.
pub fn naive_local(&self) -> NaiveDateTime
[src]
Returns a view to the naive local datetime.
pub fn to_rfc2822(&self) -> String
[src]
Returns an RFC 2822 date and time string such as Tue, 1 Jul 2003 10:52:37 +0200
.
pub fn to_rfc3339(&self) -> String
[src]
Returns an RFC 3339 and ISO 8601 date and time string such as 1996-12-19T16:39:57-08:00
.
pub fn to_rfc3339_opts(&self, secform: SecondsFormat, use_z: bool) -> String
[src]
Return an RFC 3339 and ISO 8601 date and time string with subseconds
formatted as per a SecondsFormat
. If passed use_z
true and the
timezone is UTC (offset 0), use 'Z', as per
Fixed::TimezoneOffsetColonZ.
If passed use_z
false, use
Fixed::TimezoneOffsetColon.
Examples
let dt = Utc.ymd(2018, 1, 26).and_hms_micro(18, 30, 9, 453_829); assert_eq!(dt.to_rfc3339_opts(SecondsFormat::Millis, false), "2018-01-26T18:30:09.453+00:00"); assert_eq!(dt.to_rfc3339_opts(SecondsFormat::Millis, true), "2018-01-26T18:30:09.453Z"); assert_eq!(dt.to_rfc3339_opts(SecondsFormat::Secs, true), "2018-01-26T18:30:09Z"); let pst = FixedOffset::east(8 * 60 * 60); let dt = pst.ymd(2018, 1, 26).and_hms_micro(10, 30, 9, 453_829); assert_eq!(dt.to_rfc3339_opts(SecondsFormat::Secs, true), "2018-01-26T10:30:09+08:00");
pub fn format_with_items<'a, I>(&self, items: I) -> DelayedFormat<I> where
I: Iterator<Item = Item<'a>> + Clone,
[src]
I: Iterator<Item = Item<'a>> + Clone,
Formats the combined date and time with the specified formatting items.
pub fn format(&self, fmt: &'a str) -> DelayedFormat<StrftimeItems<'a>>
[src]
Formats the combined date and time with the specified format string.
See the format::strftime
module
on the supported escape sequences.
Trait Implementations
impl Clone for DateValue
[src]
fn clone(&self) -> DateValue
[src]
fn clone_from(&mut self, source: &Self)
1.0.0[src]
Performs copy-assignment from source
. Read more
impl Borrow<DateTime<Utc>> for DateValue
[src]
impl Deref for DateValue
[src]
type Target = DateTime<Utc>
The resulting type after dereferencing.
fn deref(&self) -> &<DateValue as Deref>::Target
[src]
impl From<DateTime<Utc>> for DateValue
[src]
impl<TFormat> From<FormattableDateValue<TFormat>> for DateValue
[src]
fn from(date: FormattableDateValue<TFormat>) -> DateValue
[src]
impl<TFormat> From<DateValue> for FormattableDateValue<TFormat>
[src]
fn from(date: DateValue) -> FormattableDateValue<TFormat>
[src]
impl<TMapping> From<DateValue> for Date<TMapping> where
TMapping: DateMapping,
[src]
TMapping: DateMapping,
impl<TMapping> From<Date<TMapping>> for DateValue where
TMapping: DateMapping,
[src]
TMapping: DateMapping,
impl PartialEq<DateValue> for DateValue
[src]
impl PartialEq<DateValue> for DateTime<Utc>
[src]
impl PartialEq<DateTime<Utc>> for DateValue
[src]
impl Debug for DateValue
[src]
Auto Trait Implementations
Blanket Implementations
impl<T, U> Into for T where
U: From<T>,
[src]
U: From<T>,
impl<T> ToOwned for T where
T: Clone,
[src]
T: Clone,
type Owned = T
The resulting type after obtaining ownership.
fn to_owned(&self) -> T
[src]
fn clone_into(&self, target: &mut T)
[src]
impl<T> From for T
[src]
impl<T, U> TryFrom for T where
U: Into<T>,
[src]
U: Into<T>,
type Error = Infallible
The type returned in the event of a conversion error.
fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>
[src]
impl<T> Borrow for T where
T: ?Sized,
[src]
T: ?Sized,
impl<T> Any for T where
T: 'static + ?Sized,
[src]
T: 'static + ?Sized,
impl<T> BorrowMut for T where
T: ?Sized,
[src]
T: ?Sized,
fn borrow_mut(&mut self) -> &mut T
[src]
impl<T, U> TryInto for T where
U: TryFrom<T>,
[src]
U: TryFrom<T>,
type Error = <U as TryFrom<T>>::Error
The type returned in the event of a conversion error.
fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>
[src]
impl<T> Same for T
type Output = T
Should always be Self
impl<SS, SP> SupersetOf for SP where
SS: SubsetOf<SP>,
SS: SubsetOf<SP>,
fn to_subset(&self) -> Option<SS>
fn is_in_subset(&self) -> bool
unsafe fn to_subset_unchecked(&self) -> SS
fn from_subset(element: &SS) -> SP
impl<T> Erased for T
impl<T, U> TryInto for T where
U: TryFrom<T>,
U: TryFrom<T>,