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::{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 = Utc.datetime_from_str(&formatted, "%Y-%m-%d %H:%M:%S")?;
assert_eq!(parsed, date_time);
Re-exports
pub use strftime::StrftimeItems;
Modules
strftime
/strptime
-inspired date and time formatting syntax.Structs
An opaque type representing fixed-format item types for internal uses only.
An opaque type representing numeric item types for internal uses only.
An error from the
parse
function.Parsed parts of date and time. There are two classes of methods:
Enums
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).
Padding characters for numeric items.
The category of parse error
Functions
Tries to parse given string into
parsed
with given formatting items.
Returns Ok
when the entire string has been parsed (otherwise parsed
should not be used).
There should be no trailing string after parsing;
use a stray Item::Space
to trim whitespaces.Tries to parse given string into
parsed
with given formatting items.
Returns Ok
with a slice of the unparsed remainder.Type Definitions
Same as
Result<T, ParseError>
.