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

Класс Instant

Класс Instant из модуля std::time представляет собой непрозрачную точку во времени, которая обычно используется для измерения того, сколько времени прошло между двумя событиями. Значение Instant нельзя преобразовать в календарную дату или время суток, зато его удобно сравнивать и вычитать, получая объект Duration. Объект Instant создаётся методом now, который возвращает текущий момент времени, и является монотонным: он никогда не идёт назад, даже если системные часы были скорректированы.

Синтаксис

use std::time::Instant; let start = Instant::now();

Пример

Давайте замерим, сколько времени занимает простой цикл, создав точку отсчёта методом now и вычислив прошедшее время методом elapsed:

use std::time::Instant; fn main() { let start = Instant::now(); let mut sum = 0; for i in 0..1000000 { sum += i; } let duration = start.elapsed(); println!("{}", sum); println!("{:?}", duration); }

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

499999500000 1.234ms

Пример

Давайте сравним два момента времени и проверим, что более поздний объект Instant действительно больше:

use std::time::Instant; fn main() { let first = Instant::now(); let second = Instant::now(); let res = second > first; println!("{}", res); }

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

true

Пример

Давайте вычислим разницу между двумя моментами времени методом duration_since и выведем её в миллисекундах:

use std::time::Instant; fn main() { let start = Instant::now(); let end = Instant::now(); let diff = end.duration_since(start); println!("{}", diff.as_millis()); }

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

0

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

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