Как я могу округлить chrono :: Datetime с точностью до секунды? - PullRequest
4 голосов
/ 22 мая 2019

Я хочу округлить текущее время до ближайшей секунды, используя хронограф, но я не знаю, как обрезать или округлить результат chrono::UTC.now().

Не похоже, что тамлюбые операции по изменению существующего `DateTime .

chrono::UTC.now()

Возвращает: 2019-05-22T20:07:59.250194427Z

Я хочу получить: 2019-05-22T20:07:59.000000000Z

Как мне сделать это наиболее эффективным способом, не разбивая значение DateTime на его компоненты и воссоздавая его?

1 Ответ

4 голосов
/ 22 мая 2019

Используйте метод round_subsecs с 0 в качестве аргумента.

use chrono::prelude::*;

fn main() {
    let utc: DateTime<Utc> = Utc::now().round_subsecs(0);
    println!("{}", utc);
}

Результат:

2019-05-22 20:50:46 UTC
...