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");
시간대 관련 모든 정보의 중앙 저장소예요. 특정 시간대를 이름으로 찾거나 윤초 목록이 필요할 때 사용해요.