temps
temps or [tã] is a library for working with time and dates in Rust. Parse human-readable time expressions.
use ;
// English
let dt = parse_to_datetime?;
let dt = parse_to_datetime?;
let dt = parse_to_datetime?;
let dt = parse_to_datetime?;
let dt = parse_to_datetime?;
// German
let dt = parse_to_datetime?;
let dt = parse_to_datetime?;
let dt = parse_to_datetime?;
let dt = parse_to_datetime?;
Features
- 🌍 Multiple languages (English, German)
- 📅 Relative times (
in 2 hours,3 days ago) - 📆 Day references (
today,yesterday,tomorrow) - 📅 Weekdays (
monday,next friday,last wed) - 🕐 Time parsing (
3:30 pm,14:45,9:00 am) - 📅 Combined expressions (
tomorrow at 3:30 pm,next monday at 9:00) - 📆 Date formats (
15/03/2024,31-12-2025,15.03.2024) - 🕐 ISO 8601 dates (
2024-12-25T15:30:00Z) - 🔧 Works with
chronoandjiff
Installation
[]
# With chrono
= { = "1.0.0", = ["chrono"] }
# With jiff
= { = "1.0.0", = ["jiff"] }
Usage
Basic
use ;
// Relative times
let meeting = parse_to_datetime?;
let deadline = parse_to_datetime?;
let reminder = parse_to_datetime?;
// Day references
let today = parse_to_datetime?;
let tomorrow = parse_to_datetime?;
// Weekdays
let next_meeting = parse_to_datetime?;
let last_friday = parse_to_datetime?;
// Times
let afternoon = parse_to_datetime?;
let morning = parse_to_datetime?;
// Combined day and time
let appointment = parse_to_datetime?;
let termin = parse_to_datetime?;
// Date formats
let birthday = parse_to_datetime?;
let holiday = parse_to_datetime?;
// Absolute times
let christmas = parse_to_datetime?;
Supported Formats
Relative times:
- English:
in 5 minutes,2 hours ago - German:
in 5 Minuten,vor 2 Stunden
Day references:
- English:
today,yesterday,tomorrow - German:
heute,gestern,morgen
Weekdays:
- English:
monday/mon,tuesday/tue, etc. - Modifiers:
next monday,last friday - German:
Montag/mo,Dienstag/di, etc. - Modifiers:
nächsten Montag,letzten Freitag
Time formats:
- English:
3:30 pm,10:15 am,14:30 - German:
14:30,9:45 Uhr
Combined day and time:
- English:
tomorrow at 3:30 pm,next monday at 9:00 am - German:
morgen um 14:30,nächsten Montag um 21:00 Uhr
Date formats:
- English:
15/03/2024,31-12-2025(DD/MM/YYYY or DD-MM-YYYY) - German:
15.03.2024(DD.MM.YYYY)
Special keywords:
- English:
now - German:
jetzt
ISO 8601: 2024-01-15T10:30:00Z
Time units: seconds, minutes, hours, days, weeks, months, years
Advanced
// Direct parser access
use ;
let = parse?;
match expr
License
Licensed under either of
- Apache License, Version 2.0 (LICENSE-APACHE or http://www.apache.org/licenses/LICENSE-2.0)
- MIT license (LICENSE-MIT or http://opensource.org/licenses/MIT)
at your option.