1use std::time::Duration;
2
3pub trait TimeUnits {
5 fn ms(self) -> Duration;
7 fn secs(self) -> Duration;
9 fn minutes(self) -> Duration;
11 fn hours(self) -> Duration;
13}
14impl TimeUnits for u64 {
15 fn ms(self) -> Duration {
16 Duration::from_millis(self)
17 }
18
19 fn secs(self) -> Duration {
20 Duration::from_secs(self)
21 }
22
23 fn minutes(self) -> Duration {
24 Duration::from_secs(self * 60)
25 }
26
27 fn hours(self) -> Duration {
28 Duration::from_secs(self * 60 * 60)
29 }
30}
31impl TimeUnits for f32 {
32 fn ms(self) -> Duration {
33 Duration::from_secs_f32(self / 60.0)
34 }
35
36 fn secs(self) -> Duration {
37 Duration::from_secs_f32(self)
38 }
39
40 fn minutes(self) -> Duration {
41 Duration::from_secs_f32(self * 60.0)
42 }
43
44 fn hours(self) -> Duration {
45 Duration::from_secs_f32(self * 60.0 * 60.0)
46 }
47}