Skip to main content

test_clock/
test_clock.rs

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}