home ~ projects ~ socials

Rust DateTime Formatting Examples With chrono

Just a few date formats I like to use

```cargo
[dependencies]
chrono = "0.4.38"
```

use chrono::prelude::*;

fn main() {
  let date_string = "2003-01-08 04:05:06";
  let dt = NaiveDateTime::parse_from_str(date_string, "%Y-%m-%d %H:%M:%S").unwrap();
  let formats: Vec<(&str, &str)> = vec![
    ("", "%Y-%m-%d %H:%M:%S"),
    ("", "%Y-%m-%dT%H:%M:%S"),
    ("", "%B %Y"),
    ("", "%b %Y"),
    ("", "%a. %B %-d - %-I:%M%p"), 
  ];
  formats.iter().for_each(|format| 
    {
      println!("{}", format!("{:^24} | {:^25}", format.1, dt.format(format.1)));
    }
  );
}
Output:
%Y-%m-%d %H:%M:%S     |    2003-01-08 04:05:06   
   %Y-%m-%dT%H:%M:%S     |    2003-01-08T04:05:06   
         %B %Y           |       January 2003       
         %b %Y           |         Jan 2003         
 %a. %B %-d - %-I:%M%p   |  Wed. January 8 - 4:05AM

All the specifiers are here:

chrono::format::strftime

-- end of line --