Expand description
Formatting (and parsing) utilities for date and time.
This module provides the common types and routines to implement,
for example, DateTime::format
or
DateTime::parse_from_str
methods.
For most cases you should use these high-level interfaces.
Internally the formatting and parsing shares the same abstract formatting items,
which are just an Iterator
of
the Item
type.
They are generated from more readable format strings;
currently Chrono supports a built-in syntax closely resembling
C’s strftime
format. The available options can be found here.
§Example
use chrono::{NaiveDateTime, TimeZone, Utc};
let date_time = Utc.with_ymd_and_hms(2020, 11, 10, 0, 1, 32).unwrap();
let formatted = format!("{}", date_time.format("%Y-%m-%d %H:%M:%S"));
assert_eq!(formatted, "2020-11-10 00:01:32");
let parsed = NaiveDateTime::parse_from_str(&formatted, "%Y-%m-%d %H:%M:%S")?.and_utc();
assert_eq!(parsed, date_time);
Re-exports§
pub use strftime::StrftimeItems;
Modules§
- Date and time formatting routines.
- locales 🔒
- parse 🔒Date and time parsing routines.
- parsed 🔒A collection of parsed date and time items. They can be constructed incrementally while being checked for consistency.
- scan 🔒Various scanning routines for the parser.
strftime
/strptime
-inspired date and time formatting syntax.
Structs§
- A temporary object which can be used as an argument to
format!
or others. This is normally constructed viaformat
methods of each date and time type. - An opaque type representing fixed-format item types for internal uses only.
- An opaque type representing numeric item types for internal uses only.
- Type for specifying the format of UTC offsets.
- An error from the
parse
function. - A type to hold parsed fields of date and time that can check all fields are consistent.
Enums§
- The separator between hours and minutes in an offset.
- Fixed-format item types.
- A single formatting item. This is used for both formatting and parsing.
- Numeric item types. They have associated formatting width (FW) and parsing width (PW).
- The precision of an offset from UTC formatting item.
- Padding characters for numeric items.
- The category of parse error
- Specific formatting options for seconds. This may be extended in the future, so exhaustive matching in external code is not recommended.
- Void 🔒An uninhabited type used for
InternalNumeric
andInternalFixed
below.
Constants§
Functions§
- fixed 🔒
- formatDeprecatedTries to format given arguments with given formatting items. Internally used by
DelayedFormat
. - format_itemDeprecatedFormats single formatting item
- num 🔒
- num0 🔒
- nums 🔒
- Tries to parse given string into
parsed
with given formatting items. ReturnsOk
when the entire string has been parsed (otherwiseparsed
should not be used). There should be no trailing string after parsing; use a strayItem::Space
to trim whitespaces. - Tries to parse given string into
parsed
with given formatting items. ReturnsOk
with a slice of the unparsed remainder.
Type Aliases§
- Same as
Result<T, ParseError>
.