티스토리 뷰

개발/C,C++

[TIME] UTC, KST

-=HaeJuK=- 2025. 2. 3. 15:51
반응형
C++에서 UTC ↔ KST 변환하는 방법

C++에서 UTC ↔ KST 변환하는 방법

C++에서 현재 시간을 UTC(세계 협정시)KST(한국 표준시, UTC+9)로 변환하는 방법을 정리합니다.

C++98 / C++03 (std::time)

UTC 시간 가져오기

#include <iostream>
#include <ctime>

int main() {
    std::time_t now = std::time(nullptr);
    std::tm* gmt = std::gmtime(&now);
    std::cout << "UTC Time: "
              << (gmt->tm_year + 1900) << "-"
              << (gmt->tm_mon + 1) << "-"
              << gmt->tm_mday << " "
              << gmt->tm_hour << ":"
              << gmt->tm_min << ":"
              << gmt->tm_sec << std::endl;
    return 0;
}

KST (한국 표준시) 가져오기

#include <iostream>
#include <ctime>

int main() {
    std::time_t now = std::time(nullptr);
    std::tm* kst = std::localtime(&now);
    std::cout << "KST Time: "
              << (kst->tm_year + 1900) << "-"
              << (kst->tm_mon + 1) << "-"
              << kst->tm_mday << " "
              << kst->tm_hour << ":"
              << kst->tm_min << ":"
              << kst->tm_sec << std::endl;
    return 0;
}

C++11 / C++14 / C++17 (std::chrono 활용)

UTC 시간 가져오기

#include <iostream>
#include <chrono>
#include <ctime>

int main() {
    auto now = std::chrono::system_clock::now();
    std::time_t now_time = std::chrono::system_clock::to_time_t(now);
    std::tm gmt_tm;
    gmtime_s(&gmt_tm, &now_time);
    std::cout << "UTC Time: "
              << gmt_tm.tm_hour << ":"
              << gmt_tm.tm_min << ":"
              << gmt_tm.tm_sec << std::endl;
    return 0;
}

C++20 (std::chrono::zoned_time 활용)

#include <iostream>
#include <chrono>

int main() {
    using namespace std::chrono;
    auto now = system_clock::now();
    std::cout << "UTC Time: " << zoned_time{"UTC", now} << std::endl;
    std::cout << "KST Time: " << zoned_time{"Asia/Seoul", now} << std::endl;
    return 0;
}

결론

C++ 버전 UTC 가져오기 KST 가져오기 UTC ↔ KST 변환
C++98 / C++03 gmtime() localtime() +/- 9시간
C++11 / C++17 std::chrono::system_clock localtime_s() +/- 9시간
C++20 std::chrono::zoned_time std::chrono::zoned_time{"Asia/Seoul"} 자동 변환

🚀 최신 C++20을 사용하면 std::chrono::zoned_time을 활용해 더욱 직관적으로 UTC ↔ KST 변환이 가능합니다!

728x90
댓글
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
«   2025/02   »
1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28
글 보관함
반응형