shiny_common/clock.rs
1use chrono::{DateTime, Utc};
2
3pub trait Clock: Send + Sync {
4 fn now(&self) -> DateTime<Utc>;
5}
6
7pub struct StaticClock(pub DateTime<Utc>);
8
9impl Clock for StaticClock {
10 fn now(&self) -> DateTime<Utc> {
11 self.0
12 }
13}
14
15pub struct SystemClock;
16
17impl Clock for SystemClock {
18 fn now(&self) -> DateTime<Utc> {
19 Utc::now()
20 }
21}