Struct reql_types::DateTime[][src]

pub struct DateTime(pub DateTime<Utc>);

Methods from Deref<Target = DateTime<Utc>>

Retrieves a date component.

Retrieves a time component. Unlike date, this is not associated to the time zone.

Returns the number of non-leap seconds since January 1, 1970 0:00:00 UTC (aka "UNIX timestamp").

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

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

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

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

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

Retrieves an associated offset from UTC.

Retrieves an associated time zone.

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

Returns a view to the naive UTC datetime.

Returns a view to the naive local datetime.

Returns an RFC 2822 date and time string such as Tue, 1 Jul 2003 10:52:37 +0200.

Returns an RFC 3339 and ISO 8601 date and time string such as 1996-12-19T16:39:57-08:00.

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

Formats the combined date and time with the specified formatting items.

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

Trait Implementations

impl Debug for DateTime
[src]

Formats the value using the given formatter. Read more

impl Clone for DateTime
[src]

Returns a copy of the value. Read more

Performs copy-assignment from source. Read more

impl Eq for DateTime
[src]

impl PartialEq for DateTime
[src]

This method tests for self and other values to be equal, and is used by ==. Read more

This method tests for !=.

impl Ord for DateTime
[src]

This method returns an Ordering between self and other. Read more

Compares and returns the maximum of two values. Read more

Compares and returns the minimum of two values. Read more

impl PartialOrd for DateTime
[src]

This method returns an ordering between self and other values if one exists. Read more

This method tests less than (for self and other) and is used by the < operator. Read more

This method tests less than or equal to (for self and other) and is used by the <= operator. Read more

This method tests greater than (for self and other) and is used by the > operator. Read more

This method tests greater than or equal to (for self and other) and is used by the >= operator. Read more

impl Hash for DateTime
[src]

Feeds this value into the given [Hasher]. Read more

Feeds a slice of this type into the given [Hasher]. Read more

impl<'de> Deserialize<'de> for DateTime
[src]

Deserialize this value from the given Serde deserializer. Read more

impl Serialize for DateTime
[src]

Serialize this value into the given Serde serializer. Read more

impl Deref for DateTime
[src]

The resulting type after dereferencing.

Dereferences the value.

Auto Trait Implementations

impl Send for DateTime

impl Sync for DateTime