РЕПЕТИТОР математика физика информатика
Для школьников и студентов. Подтягивание пробелов. ЦЭ, ЦТ, ОГЭ, ЕГЭ.
Идет набор на ЛЕТО. Жмите для подробностей:)
443 of 1245 menu

Метод saturating_sub

Метод saturating_sub вычитает одну длительность из другой. Если вычитаемая длительность больше исходной, метод возвращает Duration::ZERO вместо паники или отрицательного значения. Параметром метод принимает длительность, которую нужно вычесть.

Синтаксис

duration.saturating_sub(other)

Пример

Давайте вычтем из длительности в 5 секунд длительность в 2 секунды:

use std::time::Duration; fn main() { let d1 = Duration::from_secs(5); let d2 = Duration::from_secs(2); let res = d1.saturating_sub(d2); println!("{:?}", res); }

Результат выполнения кода:

3s

Пример

Давайте вычтем из длительности в 2 секунды длительность в 5 секунд. Поскольку вычитаемая длительность больше, метод вернёт нулевую длительность:

use std::time::Duration; fn main() { let d1 = Duration::from_secs(2); let d2 = Duration::from_secs(5); let res = d1.saturating_sub(d2); println!("{:?}", res); }

Результат выполнения кода:

0ns

Пример

Давайте вычтем из длительности в 500 миллисекунд длительность в 200 миллисекунд:

use std::time::Duration; fn main() { let d1 = Duration::from_millis(500); let d2 = Duration::from_millis(200); let res = d1.saturating_sub(d2); println!("{:?}", res); }

Результат выполнения кода:

300ms

Пример

Давайте вычтем из нулевой длительности длительность в 1 секунду:

use std::time::Duration; fn main() { let d1 = Duration::ZERO; let d2 = Duration::from_secs(1); let res = d1.saturating_sub(d2); println!("{:?}", res); }

Результат выполнения кода:

0ns

Смотрите также

  • метод checked_sub,
    который выполняет вычитание с проверкой на переполнение
  • метод saturating_add,
    который выполняет сложение длительностей с насыщением
  • метод saturating_mul,
    который выполняет умножение длительности с насыщением
  • метод is_zero,
    который проверяет, равна ли длительность нулю
Мы используем cookie для работы сайта, аналитики и персонализации. Обработка данных происходит согласно Политике конфиденциальности.
принять все настроить отклонить