10 releases (1 stable)

1.0.1 May 14, 2024
0.1.8 Apr 17, 2024
0.1.2 Mar 28, 2024

#450 in Date and time

Download history 305/week @ 2024-03-24 470/week @ 2024-03-31 190/week @ 2024-04-07 209/week @ 2024-04-14 19/week @ 2024-04-21 45/week @ 2024-04-28 2/week @ 2024-05-05 411/week @ 2024-05-12 213/week @ 2024-05-19 98/week @ 2024-05-26 188/week @ 2024-06-02 39/week @ 2024-06-09

572 downloads per month
Used in datetime-rs

MIT license

46KB
986 lines

Date

ci codecov release docs

The date crate provides a simple, easy-to-use Date struct (and corresponding macro). Date provides storage for a single Gregorian calendar date.

Date can currently represent any valid calendar date between years -32,768 and 32,767.

Examples

Making a date:

use date::Date;

let date = Date::new(2012, 4, 21);

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

use date::date;

let date = date! { 2012-04-21 };

Overflow

Date provides an overflowing_new function that allows for overflow values (for example, February 30 or December 32), and maps them accordingly. This allows users to perform certain mathematical computations without having to do their own overflow checking.

Features

date-rs ships with the following features:

  • diesel-pg: Enables interop with PostgreSQL DATE columns using Diesel.
  • easter: Enables calculation for the date of Easter.
  • serde: Enables serialization and desearialization with serde. (Enabled by default.)
  • tz: Enables support for time-zone-aware date construction.

Dependencies

~0.1–1.3MB
~26K SLoC