timefilter
Human-readable time string parsing and filtering with comparison operators — ">=7d", "<2h", "2024-05-01".
Installation
Features
- Parse relative time:
"7d","2h","30m","30s"→DateTime<Utc>(now — duration) - Parse absolute time:
"2024-05-01","2024-05-01 10:00","2024-05-01 10:00:00" - Filter:
TimeFilter::ge(threshold)or">=7d".parse::<TimeFilter>() - Format:
format_datetime(&dt)→ local timezone string - Serde (optional): serialize/deserialize [
TimeFilter] as strings
Testing
30 tests (25 unit + 5 doc-tests) covering parsing, filtering, edge cases, and formatting.
Quick example
use *;
// Parse absolute time
let dt = parse_time.unwrap;
// Parse a filter expression
let f: TimeFilter = ">=2024-05-01 09:00".parse.unwrap;
assert!;
// Relative time (hours ago)
let dt = parse_time.unwrap;
let age = now - dt;
assert!;