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

Функция duration_cast

Функция duration_cast выполняет явное преобразование объекта duration из одного типа в другой. В параметр шаблона мы передаем целевой тип длительности (например, seconds, milliseconds, minutes), а в качестве аргумента функции - исходный объект duration. Преобразование выполняется с усечением дробной части, то есть округление происходит в сторону нуля.

Синтаксис

std::chrono::duration_cast<ToDuration>(d)

Пример

Давайте переведем 1500 миллисекунд в секунды. Так как в одной секунде 1000 миллисекунд, дробная часть будет отброшена:

#include <iostream> #include <chrono> using namespace std; using namespace std::chrono; int main() { milliseconds ms(1500); seconds sec = duration_cast<seconds>(ms); cout << sec.count() << endl; return 0; }

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

1

Пример

Давайте переведем 3600 секунд в минуты и часы:

#include <iostream> #include <chrono> using namespace std; using namespace std::chrono; int main() { seconds sec(3600); minutes min = duration_cast<minutes>(sec); hours h = duration_cast<hours>(sec); cout << min.count() << endl; cout << h.count() << endl; return 0; }

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

60 1

Пример

Давайте переведем 2 часа в миллисекунды. При расширении типа данные не теряются:

#include <iostream> #include <chrono> using namespace std; using namespace std::chrono; int main() { hours h(2); milliseconds ms = duration_cast<milliseconds>(h); cout << ms.count() << endl; return 0; }

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

7200000

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

  • класс duration,
    который представляет интервал времени
  • метод count,
    который возвращает количество тиков
  • функция seconds,
    которая создает длительность в секундах
  • функция milliseconds,
    которая создает длительность в миллисекундах
Мы используем cookie для работы сайта, аналитики и персонализации. Обработка данных происходит согласно Политике конфиденциальности.
принять все настроить отклонить