1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
//! Human friendly formatting of dates.
//!
//! Provides simple, friendly, human readable formatting for the chrono NaiveDateTime,
//! for example:
//! - Within the last ten minutes: `Just now`
//! - Earlier today: `20:56 Today`
//! - Earlier in the year: `5 September, 23:56`
//!
//! Default usage:
//! ```rust
//! use chrono::NaiveDateTime;
//! use pretty_date::pretty_date_formatter::PrettyDateFormatter;
//!
//! let date = NaiveDateTime::parse_from_str("2015-09-05 23:56:04", "%Y-%m-%d %H:%M:%S").unwrap();
//! println!("{}", date.format_pretty());
//! ```
//!
//! Advanced usage:
//! ```rust
//! use chrono::NaiveDateTime;
//! use pretty_date::pretty_date_format::PrettyDateFormat;
//! use pretty_date::pretty_date_rule::PrettyDateRule;
//!
//! let date = NaiveDateTime::parse_from_str("2015-09-05 23:56:04", "%Y-%m-%d %H:%M:%S").unwrap();
//! let date_format = PrettyDateFormat {
//! rules: vec![
//! PrettyDateRule::Today,
//! PrettyDateRule::ThisYear,
//! ],
//! default_format: "%-e %B %Y, %H:%M",
//! };
//! println!("{}", date_format.format_pretty(&date));
//! ```