std::chrono::zoned_time 연산자

std::chrono::zoned_time 연산자 (operator== 등)

std::chrono::zoned_time 값을 비교하는 비교 연산자예요. 저장된 시각(시스템 시각 기준)을 비교해요. C++20부터 있어요.

출처: cppreference

본문

<chrono> 헤더에 정의돼 있고, zoned_time용 비교 연산자예요.

template< class Duration1, class TimeZonePtr1,
          class Duration2, class TimeZonePtr2 >
bool operator==( const std::chrono::zoned_time<Duration1, TimeZonePtr1>& x,
                 const std::chrono::zoned_time<Duration2, TimeZonePtr2>& y );   // (1)
// operator!=

zoned_timexy를 비교해요. 시간대와 무관하게, 둘이 나타내는 실제 시점(시스템 시각 get_sys_time())이 같은지를 비교해요. 즉 같은 순간을 가리키면 시간대가 달라도 ==true예요.

  • 반환 값: (1) xy가 같은 시점을 나타내면 true, 아니면 false. !=는 그 반대.

예제를 보면요.

#include <chrono>
#include <iostream>

int main()
{
    using namespace std::chrono;
    zoned_time zt_seoul{"Asia/Seoul", sys_days{2023y/September/4}};
    zoned_time zt_utc{"Etc/UTC", sys_days{2023y/September/4}};
    std::cout << std::boolalpha << (zt_seoul == zt_utc) << '\n'; // true (같은 순간)
}

서로 다른 시간대여도 같은 시점을 나타내면 동등한 것으로 취급돼요.

더 알아보기 (Learn more)

cppreference