Name Description Size
date.rs The [`Date`] struct and its associated `impl`s. 42019
date_time.rs The [`DateTime`] struct and its associated `impl`s. 36069
duration.rs The [`Duration`] struct and its associated `impl`s. 50583
error
ext.rs Extension traits. 8905
format_description
formatting
instant.rs The [`Instant`] struct and its associated `impl`s. 8390
lib.rs # Feature flags This crate exposes a number of features. These can be enabled or disabled as shown [in Cargo's documentation](https://doc.rust-lang.org/cargo/reference/features.html). Features are _disabled_ by default unless otherwise noted. Reliance on a given feature is always indicated alongside the item definition. - `std` (_enabled by default, implicitly enables `alloc`_) This enables a number of features that depend on the standard library. - `alloc` (_enabled by default via `std`_) Enables a number of features that require the ability to dynamically allocate memory. - `macros` Enables macros that provide compile-time verification of values and intuitive syntax. - `formatting` (_implicitly enables `std`_) Enables formatting of most structs. - `parsing` Enables parsing of most structs. - `local-offset` (_implicitly enables `std`_) This feature enables a number of methods that allow obtaining the system's UTC offset. - `large-dates` By default, only years within the ±9999 range (inclusive) are supported. If you need support for years outside this range, consider enabling this feature; the supported range will be increased to ±999,999. Note that enabling this feature has some costs, as it means forgoing some optimizations. Ambiguities may be introduced when parsing that would not otherwise exist. - `serde` Enables [serde](https://docs.rs/serde) support for all types except [`Instant`]. - `serde-human-readable` (_implicitly enables `serde`, `formatting`, and `parsing`_) Allows serde representations to use a human-readable format. This is determined by the serializer, not the user. If this feature is not enabled or if the serializer requests a non-human-readable format, a format optimized for binary representation will be used. Libraries should never enable this feature, as the decision of what format to use should be up to the user. - `serde-well-known` (_implicitly enables `serde-human-readable`_) _This feature flag is deprecated and will be removed in a future breaking release. Use the `serde-human-readable` feature instead._ Enables support for serializing and deserializing well-known formats using serde's [`#[with]` attribute](https://serde.rs/field-attrs.html#with). - `rand` Enables [rand](https://docs.rs/rand) support for all types. - `quickcheck` (_implicitly enables `alloc`_) Enables [quickcheck](https://docs.rs/quickcheck) support for all types except [`Instant`]. - `wasm-bindgen` Enables [wasm-bindgen](https://github.com/rustwasm/wasm-bindgen) support for converting [JavaScript dates](https://rustwasm.github.io/wasm-bindgen/api/js_sys/struct.Date.html), as well as obtaining the UTC offset from JavaScript. 11861
macros.rs Macros to construct statically known values. 5482
month.rs The `Month` enum and its associated `impl`s. 5677
offset_date_time.rs The [`OffsetDateTime`] struct and its associated `impl`s. 38632
parsing
primitive_date_time.rs The [`PrimitiveDateTime`] struct and its associated `impl`s. 29764
quickcheck.rs Implementations of the [`quickcheck::Arbitrary`](quickcheck::Arbitrary) trait. This enables users to write tests such as this, and have test values provided automatically: ``` # #![allow(dead_code)] use quickcheck::quickcheck; use time::Date; struct DateRange { from: Date, to: Date, } impl DateRange { fn new(from: Date, to: Date) -> Result<Self, ()> { Ok(DateRange { from, to }) } } quickcheck! { fn date_range_is_well_defined(from: Date, to: Date) -> bool { let r = DateRange::new(from, to); if from <= to { r.is_ok() } else { r.is_err() } } } ``` An implementation for `Instant` is intentionally omitted since its values are only meaningful in relation to a [`Duration`], and obtaining an `Instant` from a [`Duration`] is very simple anyway. 6490
rand.rs Implementation of [`Distribution`] for various structs. 3019
serde
sys
tests.rs Tests for internal details. This module should only be used when it is not possible to test the implementation in a reasonable manner externally. 3321
time.rs The [`Time`] struct and its associated `impl`s. 27737
utc_offset.rs The [`UtcOffset`] struct and its associated `impl`s. 11989
util.rs Utility functions. 4435
weekday.rs Days of the week. 5234