use rstime::{SystemClock, MonotonicClock, Duration, Clock};
fn main() {
println!("=== rstime 时钟测试 ===\n");
println!("1. 系统时钟 - 当前时间");
let clock = SystemClock;
let now = clock.now();
println!(" DateTime: {}", now);
println!(" Date: {}", clock.today());
println!(" Time: {}", clock.time_now());
println!();
println!("2. 便捷方法(无需实例化 Clock)");
let today = rstime::Date::today();
let time_now = rstime::Time::now();
let datetime_now = rstime::DateTime::now();
println!(" Date::today() → {}", today);
println!(" Time::now() → {}", time_now);
println!(" DateTime::now() → {}", datetime_now);
println!();
println!("3. 单调时钟 - 性能计时");
let timer = MonotonicClock::start();
let mut _sum: u64 = 0;
for i in 0..1_000_000 {
_sum += i;
}
let elapsed = timer.elapsed();
println!(" 累加 100 万次: {}ms ({} 纳秒)", elapsed.total_millis(), elapsed.nanos);
println!();
println!("4. 单调时钟 - 重置");
let mut timer = MonotonicClock::start();
std::thread::sleep(std::time::Duration::from_millis(10));
println!(" 第一次: {}ms", timer.elapsed().total_millis());
timer.reset();
println!(" 重置后: {}ms", timer.elapsed().total_millis());
println!();
println!("5. Duration 常量");
println!(" ZERO: {}ms", Duration::ZERO.total_millis());
println!(" SECOND: {}ms", Duration::SECOND.total_millis());
println!(" MINUTE: {}ms", Duration::MINUTE.total_millis());
println!(" HOUR: {}ms", Duration::HOUR.total_millis());
println!(" DAY: {}ms", Duration::DAY.total_millis());
println!();
println!("✅ 时钟测试完成!");
}