当前位置: 首页>>代码示例 >>用法及示例精选 >>正文


Rust Duration用法及代码示例


本文简要介绍rust语言中 Struct std::time::Duration 的用法。

用法

pub struct Duration { /* fields omitted */ }

Duration 类型表示时间跨度,通常用于系统超时。

每个Duration 由整数秒和以纳秒表示的小数部分组成。如果底层系统不支持nanosecond-level 精度,则绑定系统超时的 API 通常会将纳秒数四舍五入。

Duration 实现了许多常见的特征,包括 Add Sub 和其他 ops 特征。它通过返回零长度 Duration 来实现 Default

例子

use std::time::Duration;

let five_seconds = Duration::new(5, 0);
let five_seconds_and_five_nanos = five_seconds + Duration::new(0, 5);

assert_eq!(five_seconds_and_five_nanos.as_secs(), 5);
assert_eq!(five_seconds_and_five_nanos.subsec_nanos(), 5);

let ten_millis = Duration::from_millis(10);

格式化 Duration

Duration 故意没有 Display impl,因为有多种方法可以格式化时间跨度以提高人类可读性。 Duration 提供了一个 Debug impl,它显示了值的完整精度。

Debug 输出使用非 ASCII “µs” 后缀表示微秒。如果您的程序输出可能出现在不能完全兼容 Unicode 的上下文中,您可能希望自己格式化 Duration 对象或使用 crate 来执行此操作。

相关用法


注:本文由纯净天空筛选整理自rust-lang.org大神的英文原创作品 Struct std::time::Duration。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。