tzdb

tzdb (시간대 데이터베이스)

시간대 데이터베이스 전체 정보를 담는 타입이에요. <chrono> 헤더, C++20부터.

출처: cppreference

본문

std::chrono::tzdb는 날짜·시간 라이브러리가 사용하는 시간대 데이터의 전부를 담아요.

class tzdb {
    std::string version;
    std::vector<time_zone> zones;
    std::vector<time_zone_link> links;
    std::vector<leap_second> leap_seconds;
    // (C++20부터 전용 멤버)
};
  • version: 시간대 DB의 버전 문자열.
  • zones: 모든 시간대 목록.
  • links: 시간대 별칭(링크) 목록.
  • leap_seconds: 윤초 목록.
  • current_zone(), locate_zone(name) 같은 편의 멤버 및 time_zone/leap_second 조회 기능 제공.

std::chrono::get_tzdb()가 이 객체를 반환하고, 시간대에 대한 첫 참조 시 DB가 초기화돼요. DB를 로드할 수 없으면 std::runtime_error가 던져져요.

const std::chrono::tzdb& db = std::chrono::get_tzdb();
const auto* seoul = db.locate_zone("Asia/Seoul");

시간대 관련 모든 정보의 중앙 저장소예요. 특정 시간대를 이름으로 찾거나 윤초 목록이 필요할 때 사용해요.

더 알아보기 (Learn more)

cppreference