G.OTH.02 使用标准库中对应的方法计算秒级、毫秒级、微秒级的时间

【级别】 建议

【描述】

略。

【反例】


#![allow(unused)]
fn main() {
use std::time::Duration;
let dur = Duration::new(5, 0);

// Bad
let _micros = dur.subsec_nanos() / 1_000;      // 不符合:用纳秒计算微秒
let _millis = dur.subsec_nanos() / 1_000_000;  // 不符合:用纳秒计算毫秒
}

【正例】


#![allow(unused)]
fn main() {
use std::time::Duration;
let dur = Duration::new(5, 0);

// Good
let _micros = dur.subsec_micros(); // 符合:通过标准库函数得到微秒
let _millis = dur.subsec_millis(); // 符合:通过标准库函数得到毫秒
}

【Lint 检测】

lint nameClippy 可检测Rustc 可检测Lint Grouplevel
duration_subsecyesnocomplexitywarn