From 1170b3989338e42750d537c426c6c4be6d9d15d8 Mon Sep 17 00:00:00 2001 From: Abraham Toriz Date: Sat, 3 Jul 2021 15:53:56 -0500 Subject: [PATCH] abbreviated times --- src/timeparse.rs | 11 +++++++++++ src/timeparse/strings.rs | 4 ++-- 2 files changed, 13 insertions(+), 2 deletions(-) diff --git a/src/timeparse.rs b/src/timeparse.rs index 70375f1..e47ef0e 100644 --- a/src/timeparse.rs +++ b/src/timeparse.rs @@ -231,5 +231,16 @@ mod tests { time_diff(parse_time("an hour 10 minutes ago").unwrap(), Local::now() - Duration::minutes(1)); time_diff(parse_time("2 hours five minutes ago").unwrap(), Local::now() - Duration::minutes(1)); time_diff(parse_time("an hour 12 minutes ago").unwrap(), Local::now() - Duration::minutes(1 * 60 + 12)); + + // abbreviated + time_diff(parse_time("2hrs ago").unwrap(), Local::now() - Duration::hours(2)); + time_diff(parse_time("10min ago").unwrap(), Local::now() - Duration::minutes(10)); + time_diff(parse_time("1hr ago").unwrap(), Local::now() - Duration::hours(1)); + time_diff(parse_time("1h ago").unwrap(), Local::now() - Duration::hours(1)); + time_diff(parse_time("1h 5m ago").unwrap(), Local::now() - Duration::minutes(1 * 60 + 5)); + time_diff(parse_time("1h5m ago").unwrap(), Local::now() - Duration::minutes(1 * 60 + 5)); + time_diff(parse_time("a m ago").unwrap(), Local::now() - Duration::minutes(1)); + time_diff(parse_time("an hr ago").unwrap(), Local::now() - Duration::hours(1)); + time_diff(parse_time("a min ago").unwrap(), Local::now() - Duration::minutes(1)); } } diff --git a/src/timeparse/strings.rs b/src/timeparse/strings.rs index 5efe19e..fd77f5f 100644 --- a/src/timeparse/strings.rs +++ b/src/timeparse/strings.rs @@ -15,7 +15,7 @@ lazy_static! { )| (?P\d+) ) - \s+hours? + (\s+)?h(ou)?(r)?s? )? (?P\s*(,|and)?\s+)? (?P @@ -29,7 +29,7 @@ lazy_static! { )| (?P\d+) ) - \s+minutes? + (\s+)?m(in)?(ute)?s? )? \s+ago ").unwrap();