當前位置: 首頁>>代碼示例 >>用法及示例精選 >>正文


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。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。