std::chrono::time_of_day<Duration>::hours, std::chrono::time_of_day<Duration>::minutes, std::chrono::time_of_day<Duration>::seconds, std::chrono::time_of_day<Duration>::subseconds
From cppreference.com
                    
                                        
                    < cpp | chrono | time of day
                    
                                                            
                    |   member of all specializations  | 
||
|   constexpr std::chrono::hours hours() const noexcept;  | 
(1) | |
|   member of all specializations except  time_of_day<std::chrono::hours> | 
||
|   constexpr std::chrono::minutes minutes() const noexcept;  | 
(2) | |
|   member only of the  time_of_day<std::chrono::seconds> and time_of_day<std::chrono::duration<Rep, Period>> specializations | 
||
|   constexpr std::chrono::seconds seconds() const noexcept;  | 
(3) | |
|   member only of the  time_of_day<std::chrono::duration<Rep, Period>> partial specialization | 
||
|   constexpr precision subseconds() const noexcept;  | 
(4) | |
Obtains the components of the stored "broken down" time.
Return value
Let since_midnight be the stored duration:
1) the integral number of hours 
since_midnight is after 00:00:00.2) the integral number of minutes 
since_midnight is after (00:00:00 + hours()).3) the integral number of seconds 
since_midnight is after (00:00:00 + hours() + minutes()).4) the integral number of fractional seconds 
since_midnight is after (00:00:00 + hours() + minutes() + seconds()).