Класс SystemTime
Класс SystemTime представляет собой момент времени,
измеряемый относительно системных часов. Он используется
для получения текущего времени, вычисления разницы между
двумя моментами, а также для измерения длительности
выполнения операций. Значения SystemTime можно
сравнивать между собой, складывать с Duration
и вычитать друг из друга.
Синтаксис
use std::time::SystemTime;
let now = SystemTime::now();
Пример
Давайте получим текущий момент времени с помощью
метода now:
use std::time::SystemTime;
fn main()
{
let now = SystemTime::now();
println!("{:?}", now);
}
Результат выполнения кода:
SystemTime { tv_sec: 1717000000, tv_nsec: 123456789 }
Пример
Давайте измерим, сколько времени прошло между двумя
вызовами SystemTime::now:
use std::time::SystemTime;
fn main()
{
let start = SystemTime::now();
let _sum: u64 = (1..=1_000_000).sum();
let end = SystemTime::now();
let duration = end.duration_since(start).unwrap();
println!("{:?}", duration);
}
Результат выполнения кода:
1.234567ms
Пример
Давайте добавим к текущему моменту времени интервал
в одну секунду с помощью метода checked_add:
use std::time::{SystemTime, Duration};
fn main()
{
let now = SystemTime::now();
let later = now.checked_add(Duration::from_secs(1));
println!("{}", later.is_some());
}
Результат выполнения кода:
true
Пример
Давайте вычислим, сколько времени прошло с момента
создания значения SystemTime, используя
метод elapsed:
use std::time::SystemTime;
fn main()
{
let start = SystemTime::now();
let elapsed = start.elapsed().unwrap();
println!("{}", elapsed.as_secs());
}
Результат выполнения кода:
0
Смотрите также
-
метод
now,
который возвращает текущий момент времени -
метод
duration_since,
который возвращает разницу между двумя моментами времени -
метод
elapsed,
который возвращает время, прошедшее с данного момента -
метод
checked_add,
который прибавляет интервал к моменту времени