14 releases (9 stable)
Uses new Rust 2024
new 1.6.0 | Mar 17, 2025 |
---|---|
1.5.0 | Jan 29, 2025 |
1.3.1 | Oct 17, 2024 |
1.2.0 | Jul 23, 2024 |
0.1.3 | Apr 16, 2024 |
#91 in Date and time
595 downloads per month
41KB
973 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.log
: Adds alog::kv::ToValue
implementation.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