1use std::io::stdin;
2
3use chrono::Local;
4use human_date_parser::ParseResult;
5
6fn main() {
7 let mut buffer = String::new();
8 let stdin = stdin();
9
10 println!("Describe a date or time:");
11 loop {
12 buffer.clear();
13 stdin.read_line(&mut buffer).unwrap();
14 let now = Local::now().naive_local();
15 let result = match human_date_parser::from_human_time(&buffer, now) {
16 Ok(time) => time,
17 Err(e) => {
18 println!("{e}");
19 continue;
20 }
21 };
22
23 let now = Local::now();
24
25 match result {
26 ParseResult::DateTime(datetime) => {
27 println!("Time now: {now}");
28 println!("Time then: {datetime}\n");
29 }
30 ParseResult::Date(date) => println!("Date: {date}\n"),
31 ParseResult::Time(time) => println!("Time: {time}\n"),
32 };
33 }
34}