13 releases (8 stable)
1.5.0 | Jan 29, 2025 |
---|---|
1.4.0 | Jan 29, 2025 |
1.3.1 | Oct 17, 2024 |
1.2.0 | Jul 23, 2024 |
0.1.3 | Apr 16, 2024 |
#267 in Date and time
703 downloads per month
40KB
952 lines
Date & Time
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:
diesel-pg
: Enables interop with PostgreSQLTIMESTAMP
columns using Diesel.serde
: Enables serialization and desearialization withserde
. (Enabled by default.)tz
: Enables support for time-zone-aware date construction.
Dependencies
~0.2–1.4MB
~27K SLoC