Expand description
Feature flags
This crate exposes a number of features. These can be enabled or disabled as shown in Cargo’s documentation. 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 enablesalloc
)This enables a number of features that depend on the standard library.
-
alloc
(enabled by default viastd
)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 enablesstd
)Enables formatting of most structs.
-
parsing
Enables parsing of most structs.
-
local-offset
(implicitly enablesstd
)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
-
serde-human-readable
(implicitly enablesserde
,formatting
, andparsing
)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 enablesserde/alloc
,formatting
, andparsing
)Enables support for serializing and deserializing well-known formats using serde’s
#[with]
attribute. -
rand
Enables rand support for all types.
-
quickcheck
(implicitly enablesalloc
)Enables quickcheck support for all types except
Instant
.
One pseudo-feature flag that is only available to end users is the unsound_local_offset
cfg.
As the name indicates, using the feature is unsound, and may cause unexpected segmentation
faults. Unlike other flags, this is deliberately
only available to end users; this is to ensure that a user doesn’t have unsound behavior without
knowing it. To enable this behavior, you must use RUSTFLAGS="--cfg unsound_local_offset" cargo build
or similar. Note: This flag is not tested anywhere, including in the regular test of
the powerset of all feature flags. Use at your own risk. Without this flag, any method that
requires the local offset will return the Err
variant when otherwise unsound.
Re-exports
pub use crate::error::Error;
Modules
Various error types returned by methods in the time crate.
Extension traits.
Description of how types should be formatted and parsed.
Formatting for various types.
Macros to construct statically known values.
Utility functions.
Structs
Date in the proleptic Gregorian calendar.
A span of time with nanosecond precision.
A PrimitiveDateTime
with a UtcOffset
.
Combined date and time.
The clock time within a given date. Nanosecond precision.
An offset from UTC.
Enums
Type Definitions
An alias for std::result::Result
with a generic error from the time crate.