当谈到在 Rust 中将时间格式化为人类可读的格式时,可能有多种可能的解决方案,包括进行一些数学运算或使用Instance。
这里演示millisecond crate,这是用于此目的的专用和专门的 crate。此 crate 将纳秒、微秒、毫秒、秒等转换为短格式和长格式;适合人眼。
假设,我们有一个包含毫秒值(如 33023448000)的变量,它是在我们代码的某个地方计算出来的,而我们希望向用户显示有形的等效结果,如 1 年 17 天 5 小时 10 分 48 秒,或紧凑版本 1y 17d 5h 10m 48s。 在这里,毫秒板条箱发挥了作用。
首先,确保您已经在系统上安装了 Rust 和 Cargo ,并且它们在终端(Windows 上为 CMD)中可用。
1. 创建项目
运行以下命令初始化一个空的二进制项目:
cargo init my-millisecond --bin && cd my-millisecond |
2. 安装millisecond板
目前,该包的最新版本是0.3。
cargo add millisecond@0.3 |
3. 使用
打开src/main.rs并写入以下代码:
use millisecond::Millisecond;
fn main() { |
4.运行项目
cargo run
输出:
~/my-millisecond$ cargo run |
我在示例中使用了默认的格式化函数 (Display)。您可以改用严格的方法ms.to_short_string(),或者使用ms.to_long_string()来打印输出的长版本。
use millisecond::Millisecond; |
结论
在 Rust 中,将时间转换为人类可读的格式可能具有挑战性。该millisecondcrate 提供了一种更好的方法来克服这种情况。它易于使用、零依赖性、适用于嵌入式环境,并且使用属性构建no_std。该 crate 遵循 MIT 许可证,并受到pretty-msNPM包的启发。
参考: