[c++] 시간 형식 및 출력 커스터마이징

C++에서는 시간을 다양한 형식으로 출력하고 커스터마이징할 수 있는 다양한 방법이 있습니다. 이 포스트에서는 C++의 <chrono> 라이브러리를 사용하여 시간을 형식화하고 커스터마이징하는 방법을 알아보겠습니다.

시간 형식화

C++의 <chrono> 라이브러리를 사용하면 std::chrono::time_point를 특정 시간 단위로 형식화할 수 있습니다. 예를 들어, 다음 코드는 현재 시간을 hh:mm:ss 형식으로 출력하는 방법을 보여줍니다.

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

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

    std::cout << "현재 시간: " << std::put_time(std::localtime(&now_c), "%T") << std::endl;
    return 0;
}

위 코드에서 std::put_time 함수는 특정 시간을 지정된 형식으로 출력하는 데 사용됩니다. std::localtime 함수는 시간을 지역 시간으로 변환하는 데 사용됩니다.

시간 출력 커스터마이징

때로는 보다 세부적으로 시간을 커스터마이징하여 특정 형식으로 출력해야 할 수도 있습니다. 이를 위해 C++의 <iomanip> 라이브러리를 사용하여 출력 형식을 조절할 수 있습니다. 다음은 특정 시간을 년-월-일로 출력하는 방법을 보여줍니다.

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

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

    std::cout << "현재 날짜: " << std::put_time(std::localtime(&now_c), "%Y-%m-%d") << std::endl;
    return 0;
}

std::put_time 함수의 두 번째 인수는 출력 형식을 지정하는데 사용됩니다. 위의 예에서는 "%Y-%m-%d" 형식으로 지정하여 년-월-일로 시간을 출력하도록 하였습니다.

결론

C++의 <chrono> 라이브러리를 사용하면 다양한 방법으로 시간을 형식화하고 출력을 커스터마이징할 수 있습니다. 이를 통해 원하는 형식으로 시간을 출력하거나 특정 포맷에 맞추어 시간을 표시하는 것이 가능합니다.

참고: cppreference.com - std::chrono