chrono_choose

chrono_choose (모호한 로컬 시간 해결 선택)

std::chrono::choose는 모호하거나 존재하지 않는 로컬 시간을 어떻게 해결할지 지정하는 스코프 열거형이에요. earliestlatest 두 값을 가져요.

출처: cppreference

본문

std::chrono::choose<chrono> 헤더에 정의된 스코프 열거형이에요. C++20부터 사용 가능해요.

enum class choose {
    earliest,
    latest
};

std::chrono::time_zonestd::chrono::zoned_time의 특정 멤버 함수에 전달해서 모호하거나 존재하지 않는 로컬 시간을 어떻게 해결할지 제어해요.

  • choose::earliest — 더 이른 시점을 반환해요.
  • choose::latest — 더 늦은 시점을 반환해요. (존재하지 않는 로컬 시간의 경우 두 시점이 동일해요.)

choose를 전달하지 않고 모호하거나 존재하지 않는 로컬 시간을 만나면 std::chrono::ambiguous_local_time 또는 std::chrono::nonexistent_local_time 예외가 던져져요.

예제 (Example)

DST 전환이 있는 시간대에서 모호한 로컬 시간을 choose::earliest로 해결하는 예시예요.

#include <chrono>
#include <iostream>

int main()
{
    using namespace std::chrono;
    // ... time_zone::to_sys 호출 시 choose 지정
}

더 알아보기 (Learn more)

cppreference