| Crates.io | duration-ext |
| lib.rs | duration-ext |
| version | 1.0.0 |
| created_at | 2026-01-14 17:33:40.086038+00 |
| updated_at | 2026-01-14 17:33:40.086038+00 |
| description | Ergonomic extension trait for creating std::time::Duration from numeric literals |
| homepage | |
| repository | https://github.com/sassman/duration-ext-rs |
| max_upload_size | |
| id | 2043305 |
| size | 56,452 |
Ergonomic extension trait for creating std::time::Duration from numeric literals.
u64, u32, usize, i32f64, f321.5.seconds() equals 1500ms[dependencies]
duration-ext = "1.0"
use duration_ext::DurationExt;
use std::time::Duration;
// Integer literals
let timeout = 30.seconds();
let delay = 500.millis();
let precision = 100.micros();
let benchmark = 1000.nanos();
let long_timeout = 5.minutes();
let very_long = 2.hours();
// Fractional values (f64/f32)
let animation = 0.3.seconds(); // 300ms
let half_second = 0.5.seconds(); // 500ms
let one_and_half = 1.5.seconds(); // 1500ms
let half_minute = 0.5.minutes(); // 30s
| Method | Description | Example |
|---|---|---|
.nanos() |
Nanoseconds | 1000.nanos() |
.micros() |
Microseconds | 100.micros() |
.millis() |
Milliseconds | 500.millis() |
.seconds() |
Seconds | 5.seconds() |
.minutes() |
Minutes | 2.minutes() |
.hours() |
Hours | 1.hours() |
use duration_ext::DurationExt;
let fade_in = 0.3.seconds();
let slide_duration = 0.25.seconds();
let bounce_delay = 50.millis();
use duration_ext::DurationExt;
let connection_timeout = 30.seconds();
let retry_delay = 5.minutes();
let session_expiry = 24.hours();
use duration_ext::DurationExt;
let frame_budget = 16.millis();
let sample_interval = 100.micros();
let spin_wait = 500.nanos();
This project is licensed under the GNU General Public License v3.0.