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

Метод duration_since

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

Синтаксис

SystemTime::duration_since(&self, earlier: SystemTime) -> Result<Duration, SystemTimeError>

Пример

Давайте вычислим, сколько времени прошло с момента создания переменной earlier до текущего момента:

use std::time::{SystemTime, Duration}; fn main() { let earlier = SystemTime::now(); let res = SystemTime::now().duration_since(earlier); println!("{:?}", res); }

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

Ok(39.37µs)

Пример

Давайте вычтем из текущего момента времени момент, находящийся в будущем. Такой вызов приведёт к ошибке:

use std::time::{SystemTime, Duration}; fn main() { let future = SystemTime::now() + Duration::from_secs(100); let res = SystemTime::now().duration_since(future); println!("{:?}", res); }

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

Err(SystemTimeError(-99.99997085s))

Пример

Давайте получим количество секунд, прошедших с момента earlier, используя метод unwrap и поле as_secs:

use std::time::SystemTime; fn main() { let earlier = SystemTime::now(); let res = SystemTime::now().duration_since(earlier).unwrap(); println!("{}", res.as_secs()); }

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

0

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

  • класс SystemTime,
    который представляет момент времени в системе
  • метод now,
    который возвращает текущий момент времени
  • метод elapsed,
    который возвращает время, прошедшее с данного момента
  • класс SystemTimeError,
    который представляет ошибку вычисления разницы времени
Мы используем cookie для работы сайта, аналитики и персонализации. Обработка данных происходит согласно Политике конфиденциальности.
принять все настроить отклонить