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

Функция floor

Функция floor округляет значение времени вниз до ближайшей границы указанной длительности. Она принимает время (например, момент времени time_point) и единицу измерения, до которой нужно выполнить округление. Функция возвращает новое значение времени, усечённое вниз до заданной точности. Первым параметром передаётся округляемое значение времени, а вторым - тип длительности, задающий точность округления.

Синтаксис

std::chrono::floor<Duration>(time_point)

Пример

Давайте округлим момент времени вниз до секунд:

#include <iostream> #include <chrono> using namespace std; using namespace std::chrono; int main() { auto now = system_clock::now(); auto rounded = floor<seconds>(now); cout << "Original: " << now.time_since_epoch().count() << endl; cout << "Rounded: " << rounded.time_since_epoch().count() << endl; return 0; }

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

"Original: 1700000000123456" "Rounded: 1700000000000000"

Пример

Давайте округлим момент времени вниз до минут и выведем разницу:

#include <iostream> #include <chrono> using namespace std; using namespace std::chrono; int main() { auto now = system_clock::now(); auto rounded = floor<minutes>(now); auto diff = duration_cast<seconds>(now - rounded); cout << "Diff in seconds: " << diff.count() << endl; return 0; }

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

"Diff in seconds: 42"

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

  • класс system_clock,
    который представляет системные часы
  • класс time_point,
    который представляет момент времени
  • функция time_point_cast,
    которая преобразует момент времени к другой длительности
  • функция difftime,
    которая возвращает разницу между двумя моментами времени
Мы используем cookie для работы сайта, аналитики и персонализации. Обработка данных происходит согласно Политике конфиденциальности.
принять все настроить отклонить