Функция now класса Instant
Функция now класса Instant возвращает объект
Instant, представляющий текущий момент времени.
Она не принимает параметров и всегда доступна для вызова.
Полученный момент можно использовать для измерения
длительности операций, сравнения времени и других задач,
связанных с отслеживанием времени.
Синтаксис
Instant::now()
Пример
Давайте получим текущий момент времени и выведем его в отладочном формате:
use std::time::Instant;
fn main()
{
let now = Instant::now();
println!("{:?}", now);
}
Результат выполнения кода будет примерно таким:
Instant { tv_sec: 1234567, tv_nsec: 890123456 }
Пример
Давайте измерим длительность выполнения простого цикла:
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: {}", sum);
println!("Elapsed: {:?}", duration);
}
Результат выполнения кода будет примерно таким:
Sum: 499999500000
Elapsed: 1.234ms
Пример
Давайте сравним два момента времени, полученных с
помощью функции now:
use std::time::Instant;
fn main()
{
let first = Instant::now();
for _ in 0..1000 {}
let second = Instant::now();
if second > first
{
println!("Second is later than first");
}
}
Результат выполнения кода:
"Second is later than first"
Смотрите также
-
класс
Instant,
который представляет момент времени -
метод
elapsed,
который возвращает время, прошедшее с момента создания -
метод
duration_since,
который возвращает длительность между двумя моментами -
метод
checked_add,
который прибавляет длительность к моменту времени