Метод checked_duration_since
Метод checked_duration_since вычисляет
разницу между текущим моментом времени Instant
и другим моментом Instant, переданным
в качестве параметра. Метод возвращает
Some(Duration), если текущий момент позже
переданного, и None, если текущий момент
раньше переданного или совпадает с ним. Параметром
метод принимает момент времени, разницу с которым
нужно вычислить.
Синтаксис
instant.checked_duration_since(earlier)
Пример
Давайте вычислим разницу между двумя моментами времени, где первый момент создан позже второго:
use std::time::Instant;
fn main()
{
let earlier = Instant::now();
let later = Instant::now();
let res = later.checked_duration_since(earlier);
println!("{:?}", res);
}
Результат выполнения кода:
Some(1.234µs)
Пример
Давайте попробуем вычислить разницу, когда текущий момент раньше переданного:
use std::time::Instant;
fn main()
{
let later = Instant::now();
let earlier = Instant::now();
let res = earlier.checked_duration_since(later);
println!("{:?}", res);
}
Результат выполнения кода:
None
Пример
Давайте обработаем результат с помощью
match и выведем разницу в секундах:
use std::time::Instant;
fn main()
{
let earlier = Instant::now();
let later = Instant::now();
match later.checked_duration_since(earlier) {
Some(duration) => {
println!("Duration: {:?}", duration);
},
None => {
println!("The second instant is earlier");
},
}
}
Результат выполнения кода:
Duration: 1.234µs
Смотрите также
-
метод
duration_since,
который вычисляет разницу между моментами времени и может паниковать -
метод
saturating_duration_since,
который вычисляет разницу и возвращает нулевую длительность вместо None -
метод
elapsed,
который возвращает время, прошедшее с момента создания Instant -
метод
now,
который возвращает текущий момент времени