chrono_hour_fun

chrono_hour_fun (12시간·24시간 변환)

std::chronois_am, is_pm, make12, make24는 12시간제와 24시간제 시간 표기를 서로 변환하는 도우미 함수예요.

출처: cppreference

본문

이 함수들은 12시간제 시간과 24시간제 시간 사이의 변환을 돕는 함수예요. <chrono> 헤더에 정의되어 있어요. C++20부터 사용 가능해요.

constexpr bool is_am( const std::chrono::hours& h ) noexcept;
constexpr bool is_pm( const std::chrono::hours& h ) noexcept;
constexpr std::chrono::hours make12( const std::chrono::hours& h ) noexcept;
constexpr std::chrono::hours make24( const std::chrono::hours& h,
                                     const std::chrono::hours& h12 ) noexcept;
  • is_am — 24시간제 시간이 오전(자정~정오)인지 검사해요.
  • is_pm — 24시간제 시간이 오후(정오~자정)인지 검사해요.
  • make12 — 24시간제 시간을 12시간제(1~12)로 변환해요.
  • make24 — 12시간제 시간과 오전/오후 표시(h12)를 받아 24시간제(0~23)로 변환해요.

예제 (Example)

#include <chrono>
#include <iostream>

int main()
{
    using namespace std::chrono;
    hours h{14};
    std::cout << is_pm(h) << '\n';         // 1
    std::cout << make12(h).count() << '\n'; // 2
    std::cout << make24(hours{2}, std::chrono::hours{2}).count() << '\n'; // 114? (오후 표시)
}

더 알아보기 (Learn more)

cppreference