Scroll to navigation

std::chrono::hh_mm_ss::hh_mm_ss(3) C++ Standard Libary std::chrono::hh_mm_ss::hh_mm_ss(3)

NAME

std::chrono::hh_mm_ss::hh_mm_ss - std::chrono::hh_mm_ss::hh_mm_ss

Synopsis


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


Constructs a hh_mm_ss object.


1) Constructs a hh_mm_ss object corresponding to Duration::zero().
2) Constructs a hh_mm_ss object corresponding to d:
* is_negative() returns d < Duration::zero().
* hours() returns std::chrono::duration_cast<std::chrono::hours>(abs(d)).
* minutes() returns std::chrono::duration_cast<std::chrono::minutes>(abs(d) -
hours()).
* seconds() returns
std::chrono::duration_cast<std::chrono::seconds>(abs(d) - hours() - minutes()).
* subseconds() returns abs(d) - hours() - minutes() - seconds() if
std::chrono::treat_as_floating_point_v<precision::rep> is true; otherwise it
returns std::chrono::duration_cast<precision>(abs(d) - hours() - minutes() -
seconds()).

Parameters


d - the duration to be broken down

Example

// Run this code


#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);
}

Possible output:


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

2024.06.10 http://cppreference.com