use std::thread::sleep;
use std::time::{Duration, Instant};
fn main() {
let interval = Duration::from_secs(1);
let mut next_time = Instant::now() + interval;
let mut i = 0;
loop {
println!("{:?}", next_time);
sleep(next_time - Instant::now());
next_time += interval;
i += 1;
if i == 7 {
break;
}
}
}
/*
run:
Instant { tv_sec: 874606, tv_nsec: 345730049 }
Instant { tv_sec: 874607, tv_nsec: 345730049 }
Instant { tv_sec: 874608, tv_nsec: 345730049 }
Instant { tv_sec: 874609, tv_nsec: 345730049 }
Instant { tv_sec: 874610, tv_nsec: 345730049 }
Instant { tv_sec: 874611, tv_nsec: 345730049 }
Instant { tv_sec: 874612, tv_nsec: 345730049 }
*/