current_zone

current_zone (현재 로컬 시간대 얻기)

시간대 데이터베이스에서 로컬 시간대를 얻는 편의 함수예요. <chrono> 헤더, C++20부터.

출처: cppreference

본문

current_zone은 시간대 데이터베이스에서 로컬 시간대를 얻어요. std::chrono::get_tzdb().current_zone()과 동등해요.

const std::chrono::time_zone* current_zone();
  • 예외: 이것이 시간대 DB에 대한 첫 번째 참조인데 DB를 초기화할 수 없으면 std::runtime_error를 던져요.
  • 참고: 이 함수를 부르는 것이 시간대 DB에 대한 첫 참조라면, 그 호출이 DB 초기화를 일으켜요.

즉, 시간대 DB는 지연 초기화되므로 첫 호출 시점에 초기화 비용이 생기고, 그때 실패하면 예외가 날 수 있다는 점을 알아두면 돼요.

const std::chrono::time_zone* tz = std::chrono::current_zone();
// tz를 zoned_time 등에서 사용

로컬 시간대의 이름을 얻거나 그 시간대 규칙으로 시각을 변환할 때 시작점으로 쓰는 함수예요.

더 알아보기 (Learn more)

cppreference