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

Метод elapsed

Метод elapsed класса SystemTime возвращает значение типа Result<Duration, SystemTimeError>, которое представляет промежуток времени, прошедший с момента, хранящегося в объекте SystemTime, до текущего системного времени. Метод не принимает никаких параметров. Если момент времени, хранящийся в объекте, находится в будущем относительно текущего системного времени, метод возвращает ошибку SystemTimeError.

В случае успеха возвращается значение типа Duration, из которого можно получить количество секунд и наносекунд, прошедших с сохранённого момента.

Синтаксис

system_time.elapsed()

Пример

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

use std::time::{SystemTime, Duration}; use std::thread::sleep; fn main() { let start = SystemTime::now(); sleep(Duration::from_millis(100)); let res = start.elapsed(); println!("{:?}", res); }

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

Ok(100.123ms)

Пример

Давайте выведем количество секунд, прошедших с сохранённого момента времени:

use std::time::{SystemTime, Duration}; use std::thread::sleep; fn main() { let start = SystemTime::now(); sleep(Duration::from_secs(1)); let res = start.elapsed().unwrap(); println!("{}", res.as_secs()); }

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

1

Пример

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

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

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

Err(SystemTimeError("second time provided was later than self"))

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

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