| Crates.io | human-date-parser |
| lib.rs | human-date-parser |
| version | 0.3.1 |
| created_at | 2023-01-21 23:21:17.526081+00 |
| updated_at | 2025-03-27 16:57:09.663417+00 |
| description | Parses strings that express dates in a human way into ones usable by code. |
| homepage | https://github.com/technologicalMayhem/human-date-parser |
| repository | https://github.com/technologicalMayhem/human-date-parser |
| max_upload_size | |
| id | 764646 |
| size | 59,370 |
Parses strings that express dates in a human way into ones usable by code.
Using it is as simple as calling from_human_time with a string slice and the current date and time. Like this:
use human_date_parser::from_human_time;
use chrono::Local;
fn main() {
let now = Local::now().naive_local();
let date = from_human_time("Last Friday at 19:45", now).unwrap();
println!("{date}");
}
The date and time doesn't have to be 'now' specifically. It's used to figure out what a relative statement like "Next Monday" would actually mean, given the date.
You can also use the example to try out a few dates and see what it can and can't parse. Simply run cargo run --example stdin.
Currently the following kinds of formats are supported:
If you find issues or opportunities for improvement do let me know by creating a issues on this projects GitHub page.