[c++] 날짜와 시간 형식 변환

C++에서는 <chrono> 헤더를 사용하여 날짜와 시간을 다룰 수 있습니다. 여기에서는 날짜와 시간을 특정 형식으로 변환하는 방법에 대해 알아보겠습니다.

형식 지정자

C++에서는 std::put_time을 사용하여 std::time_t를 문자열로 변환할 수 있습니다. std::put_time 함수는 다음과 같은 형식 지정자를 사용합니다:

예제

아래는 std::chrono::system_clock를 사용하여 현재 시간을 가져오고, std::put_time을 사용하여 원하는 형식으로 변환하는 간단한 예제입니다.

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

int main() {
    std::chrono::system_clock::time_point now = std::chrono::system_clock::now();
    std::time_t now_c = std::chrono::system_clock::to_time_t(now);

    struct std::tm* now_tm = std::localtime(&now_c);

    std::cout << "현재 날짜 및 시간: " << std::put_time(now_tm, "%Y-%m-%d %H:%M:%S") << std::endl;
    return 0;
}

위 예제는 현재 날짜와 시간을 “YYYY-MM-DD HH:MM:SS” 형식으로 출력합니다.

요약

이제 C++에서 날짜와 시간을 원하는 형식으로 변환하는 방법에 대해 배웠습니다. std::put_time 함수와 형식 지정자를 사용하여 날짜와 시간을 다룰 수 있습니다.

더 많은 정보는 cppreference.com을 참조하세요.