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::prelude::*;
let date_time = Utc.ymd(2020, 11, 10).and_hms(0, 1, 32);
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
A temporary object which can be used as an argument to
format!
or others.
This is normally constructed via format
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.
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 format given arguments with given formatting items.
Internally used by
DelayedFormat
.Formats single formatting item
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.Type Definitions
Same as
Result<T, ParseError>
.