Struct chrono::TsSeconds [] [src]

pub struct TsSeconds<Tz: TimeZone>(_);

A DateTime that can be deserialized from a timestamp

A timestamp here is seconds since the epoch

Methods from Deref<Target = DateTime<Tz>>

[src]

Retrieves a date component.

[src]

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

[src]

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

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

[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

[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

[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

[src]

Retrieves an associated offset from UTC.

[src]

Retrieves an associated time zone.

[src]

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

[src]

Returns a view to the naive UTC datetime.

[src]

Returns a view to the naive local datetime.

[src]

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

[src]

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

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

[src]

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

[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 Decodable for TsSeconds<FixedOffset>
[src]

[src]

Deserialize a value using a Decoder.

impl<Tz: Debug + TimeZone> Debug for TsSeconds<Tz>
[src]

[src]

Formats the value using the given formatter. Read more

impl<Tz: TimeZone> From<TsSeconds<Tz>> for DateTime<Tz>
[src]

[src]

Pull the inner DateTime out

impl<Tz: TimeZone> Deref for TsSeconds<Tz>
[src]

The resulting type after dereferencing.

[src]

Dereferences the value.

impl Decodable for TsSeconds<Utc>
[src]

[src]

Deserialize a value using a Decoder.

impl Decodable for TsSeconds<Local>
[src]

[src]

Deserialize a value using a Decoder.

Auto Trait Implementations

impl<Tz> Send for TsSeconds<Tz> where
    <Tz as TimeZone>::Offset: Send

impl<Tz> Sync for TsSeconds<Tz> where
    <Tz as TimeZone>::Offset: Sync