4 releases

new 0.1.3 Apr 16, 2024
0.1.2 Apr 16, 2024
0.1.1 Apr 16, 2024
0.1.0 Apr 10, 2024

#375 in Date and time

Download history 104/week @ 2024-04-08 428/week @ 2024-04-15

532 downloads per month

MIT license

30KB
731 lines

Date & Time

ci codecov release docs

The datetime crate provides a simple, easy-to-use DateTime struct (and corresponding macro). DateTime provides storage for a date and time, and optionally a time zone (if the tz feature is enabled).

The underlying storage is a Unix timestamp, so DateTime objects are comparable (even when in different time zones). Additonally, if you don't need the concept of time zones (e.g. because you can assume one), you can leave the tz feature off and not take the baggage.

A DateTime with no time zone specified behaves identically to UTC.

Examples

Making a DateTime:

use datetime::DateTime;

let dt = DateTime::ymd(2012, 4, 21).hms(11, 0, 0).build();

You can also use the datetime! macro to get a syntax resembling a date literal:

use datetime::datetime;

let dt = datetime! { 2012-04-21 11:00:00 };

Features

datetime-rs ships with the following features:

  • serde: Enables serialization and desearialization with serde. (Enabled by default.)
  • tz: Enables support for time-zone-aware date construction.

Dependencies

~0.2–0.9MB
~17K SLoC