Spec-Zone.ru › C++

std::chrono::hh_mm_ss<Duration>::hh_mm_ss

constexpr hh_mm_ss() noexcept : hh_mm_ss{Duration::zero()} {}
(1)
constexpr explicit hh_mm_ss( Duration d );
(2)

Создаёт объект hh_mm_ss.

1) Создаёт объект hh_mm_ss, соответствующий Duration::zero().
2) Создаёт объект hh_mm_ss, соответствующий d:
  • is_negative() возвращает d < Duration::zero().
  • hours() возвращает std::chrono::duration_cast<std::chrono::hours>(abs(d)).
  • minutes() возвращает std::chrono::duration_cast<std::chrono::minutes>(abs(d) - hours()).
  • seconds() возвращает
    std::chrono::duration_cast<std::chrono::seconds>(abs(d) - hours() - minutes()).
  • subseconds() возвращает abs(d) - hours() - minutes() - seconds(), если std::chrono::treat_as_floating_point_v<precision::rep> равно true; в противном случае возвращает std::chrono::duration_cast<precision>(abs(d) - hours() - minutes() - seconds()).

Параметры

d - длительность, которую необходимо разложить

Пример

#include <chrono>
#include <print>
 
int main()
{
    std::println("Default constructor: {}", std::chrono::hh_mm_ss<std::chrono::minutes>{});

    std::chrono::time_point now = std::chrono::system_clock::now();
    std::chrono::hh_mm_ss time_of_day{now - std::chrono::floor<std::chrono::days>(now)};
    std::println("The time of day is: {}", time_of_day);
}

Возможный вывод:

Default constructor: 00:00:00
The time of day is: 12:13:14.151617189

© cppreference.com
Licensed under the Creative Commons Attribution-ShareAlike Unported License v3.0.
https://en.cppreference.com/cpp/chrono/hh_mm_ss/hh_mm_ss

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API