chrono_choose
chrono_choose (모호한 로컬 시간 해결 선택)
std::chrono::choose는 모호하거나 존재하지 않는 로컬 시간을 어떻게 해결할지 지정하는 스코프 열거형이에요. earliest와 latest 두 값을 가져요.
출처: cppreference
본문
std::chrono::choose는 <chrono> 헤더에 정의된 스코프 열거형이에요. C++20부터 사용 가능해요.
enum class choose {
earliest,
latest
};
std::chrono::time_zone과 std::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 지정
}