|0.1.6||Apr 6, 2023|
|0.1.5||Apr 6, 2023|
#209 in Date and time
25 downloads per month
A counter stores
end times, and implements
to either show the time passed since
start, or until
The timer will not go down past 00:00:00.
Basic functionality is very simple:
let now = TimeStamp::now(); let mut counter = Counter::down( Some(now - 600), Some(now + 600) ); // A small amount of time will have passed since `now` was assigned assert_eq!(counter.to_string(), "00:09:59"); counter.flip(); // It now counts up from `start` assert_eq!(counter.to_string(), "00:10:00")
end times are adjustable:
let mut counter = Counter::up(Some(TimeStamp::now()), None); counter.try_move_start(-30).unwrap(); assert_eq!(counter.to_string(), "00:00:30")
The full documentation is available here on docs.rs!
The primary motivation for the creation of this library is the concept of a marathon livestream, where the stream begins with a timer set to e.g. 4 hours at the beginning, and viewers can increase this time by paying.