1use rstime::{SystemClock, MonotonicClock, Duration, Clock};
2
3fn main() {
4 println!("=== rstime 时钟测试 ===\n");
5
6 println!("1. 系统时钟 - 当前时间");
7 let clock = SystemClock;
8 let now = clock.now();
9 println!(" DateTime: {}", now);
10 println!(" Date: {}", clock.today());
11 println!(" Time: {}", clock.time_now());
12 println!();
13
14 println!("2. 便捷方法(无需实例化 Clock)");
15 let today = rstime::Date::today();
16 let time_now = rstime::Time::now();
17 let datetime_now = rstime::DateTime::now();
18 println!(" Date::today() → {}", today);
19 println!(" Time::now() → {}", time_now);
20 println!(" DateTime::now() → {}", datetime_now);
21 println!();
22
23 println!("3. 单调时钟 - 性能计时");
24 let timer = MonotonicClock::start();
25 let mut _sum: u64 = 0;
26 for i in 0..1_000_000 {
27 _sum += i;
28 }
29 let elapsed = timer.elapsed();
30 println!(" 累加 100 万次: {}ms ({} 纳秒)", elapsed.total_millis(), elapsed.nanos);
31 println!();
32
33 println!("4. 单调时钟 - 重置");
34 let mut timer = MonotonicClock::start();
35 std::thread::sleep(std::time::Duration::from_millis(10));
36 println!(" 第一次: {}ms", timer.elapsed().total_millis());
37 timer.reset();
38 println!(" 重置后: {}ms", timer.elapsed().total_millis());
39 println!();
40
41 println!("5. Duration 常量");
42 println!(" ZERO: {}ms", Duration::ZERO.total_millis());
43 println!(" SECOND: {}ms", Duration::SECOND.total_millis());
44 println!(" MINUTE: {}ms", Duration::MINUTE.total_millis());
45 println!(" HOUR: {}ms", Duration::HOUR.total_millis());
46 println!(" DAY: {}ms", Duration::DAY.total_millis());
47 println!();
48
49 println!("✅ 时钟测试完成!");
50}