[c++] 시간대 및 지역화 처리

std::chrono::system_clock

<chrono> 헤더의 system_clock 클래스는 현재 시간을 시스템 시계로부터 가져오는 데 사용됩니다. 이를 통해 시간대 변환을 처리할 수 있습니다.

#include <chrono>
#include <iostream>

int main() {
    auto now = std::chrono::system_clock::now(); // 현재 시간 가져오기

    // 시간 출력
    std::time_t now_time = std::chrono::system_clock::to_time_t(now);
    std::cout << "Current time: " << std::ctime(&now_time) << std::endl;

    return 0;
}

std::chrono::zoned_time

C++20부터는 <chrono> 헤더에서 zoned_time 클래스를 사용하여 시간대 및 지역화를 보다 쉽게 처리할 수 있습니다.

#include <chrono>
#include <iostream>
#include <iomanip>

int main() {
    auto now = std::chrono::system_clock::now(); // 현재 시간 가져오기
    std::string timezone = "Asia/Seoul";
    std::chrono::zoned_time zt(std::chrono::locate_zone(timezone), now);
    
    // 시간 출력
    std::cout << "Current time in " << timezone << " : " << zt << std::endl;

    return 0;
}

C++에서 시간대 및 지역화 처리를 위해 <chrono> 라이브러리를 사용하여 system_clockzoned_time을 통해 쉽게 처리할 수 있습니다.

더 많은 정보는 cppreference.com에서 확인할 수 있습니다.