Avatar ·

如何在 Rust 中获取当前时间的毫秒数?

大家好!我刚开始学习 Rust,遇到了一个看似简单但让我卡住的问题。我需要测量一小段代码的执行时间,或者只是获取当前以毫秒为单位的 timestamp(Unix 时间精确到毫秒)。在其他语言中(例如 JavaScript 的 `Date.now()`,Python 的 `time.time() * 1000`),一行代码就能搞定,但在 Rust 中,我搞混了类型和 crate。 我写了这样的代码: ```rust use std::time::SystemTime; fn main() { let now = SystemTime::now(); // 如何从 now 获取 u64 或 f64 的毫秒数? println!("当前时间: {:?}", now); } ``` 但 `println!` 输出的是类似 `SystemTime { tv_sec: 1234567, tv_nsec: 890123456 }` 的东西,而我需要的是像 `1712345678890` 这样的数字。我尝试阅读 `SystemTime::duration_since` 和 `UNIX_EPOCH` 的文档,但遇到了很多关于 `Result` 和 `Duration` 类型的错误。另外,我不确定该用哪个 crate 更好:标准库