hh_mm_ss

hh_mm_ss (시·분·초로 분해된 시간)

기간(duration)을 "시:분:초" 형태로 분해해 표현하는 클래스 템플릿이에요. <chrono> 헤더, C++20부터.

출처: cppreference

본문

std::chrono::hh_mm_ss는 기간을 시·분·초로 나눈 "분해된 시간"으로 표현해요.

template< class Duration >
class hh_mm_ss;

분해의 정밀도는 템플릿 인자 Duration이 결정해요. 예를 들어 hh_mm_ss<minutes>는 초 단위를 갖지 않아요.

  • hours(), minutes(), seconds(), subseconds() 멤버로 각 부분을 얻어요.
  • is_negative(): 음수인지(시각이 자정 이전인지) 확인해요.
  • operator<</스트림 출력, to_duration()(원래 기간으로 되돌리기)을 지원해요.
using namespace std::chrono;
hh_mm_ss hms{seconds{3661}};   // 1시간 1분 1초
auto h = hms.hours();          // 1h
auto m = hms.minutes();        // 1min
auto s = hms.seconds();        // 1s

기간을 "1:01:01" 같은 시분초 형식으로 나눠 다룰 때 편리한 타입이에요. 시간 포맷팅·출력에서 자주 쓰여요.

더 알아보기 (Learn more)

cppreference