Struct elastic::types::prelude::DateValue
[−]
[src]
pub struct 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_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 PartialEq<DateValue> for DateTime<Utc>
[src]
fn eq(&self, other: &DateValue) -> bool
[src]
This method tests for self
and other
values to be equal, and is used by ==
. Read more
fn ne(&self, other: &DateValue) -> bool
[src]
This method tests for !=
.
impl PartialEq<DateTime<Utc>> for DateValue
[src]
fn eq(&self, other: &DateTime<Utc>) -> bool
[src]
This method tests for self
and other
values to be equal, and is used by ==
. Read more
fn ne(&self, other: &DateTime<Utc>) -> bool
[src]
This method tests for !=
.
impl PartialEq<DateValue> for DateValue
[src]
fn eq(&self, __arg_0: &DateValue) -> bool
[src]
This method tests for self
and other
values to be equal, and is used by ==
. Read more
fn ne(&self, __arg_0: &DateValue) -> bool
[src]
This method tests for !=
.
impl Clone for DateValue
[src]
fn clone(&self) -> DateValue
[src]
Returns a copy of the value. Read more
fn clone_from(&mut self, source: &Self)
1.0.0[src]
Performs copy-assignment from source
. Read more
impl Deref for DateValue
[src]
type Target = DateTime<Utc>
The resulting type after dereferencing.
fn deref(&self) -> &<DateValue as Deref>::Target
[src]
Dereferences the value.
impl Borrow<DateTime<Utc>> for DateValue
[src]
impl<TFormat> From<FormattableDateValue<TFormat>> for DateValue
[src]
fn from(date: FormattableDateValue<TFormat>) -> DateValue
[src]
Performs the conversion.
impl<TMapping> From<DateValue> for Date<TMapping> where
TMapping: DateMapping,
[src]
TMapping: DateMapping,
impl From<DateTime<Utc>> for DateValue
[src]
impl<TMapping> From<Date<TMapping>> for DateValue where
TMapping: DateMapping,
[src]
TMapping: DateMapping,
impl<TFormat> From<DateValue> for FormattableDateValue<TFormat>
[src]
fn from(date: DateValue) -> FormattableDateValue<TFormat>
[src]
Performs the conversion.