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) Создаёт объект
2) Создаёт объект hh_mm_ss, соответствующий Duration::zero().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