date-rs

Crates.iodate-rs
lib.rsdate-rs
version1.0.1
sourcesrc
created_at2024-03-25 20:49:46.036606
updated_at2024-05-14 16:21:35.276539
descriptionGregorian calendar date
homepage
repositoryhttps://github.com/lukesneeringer/date-rs
max_upload_size
id1185665
size49,371
Luke Sneeringer (lukesneeringer)

documentation

https://docs.rs/date_rs

README

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.
Commit count: 31

cargo fmt