[c++] 시간 및 날짜 라이브러리 활용하기

C++ 프로그래밍에서 시간과 날짜를 다루는 데 유용한 기능을 제공하는 <chrono><ctime> 라이브러리를 사용하여 시간을 측정하고 표현하고 날짜를 처리할 수 있습니다.

<chrono> 라이브러리

<chrono> 라이브러리는 C++11부터 표준 라이브러리에 포함되어 시간 측정, 지연 및 연산을 위한 유연하고 강력한 기능을 제공합니다. 이 라이브러리를 사용하면 시간을 안전하게 측정하고 단위 변환을 수행할 수 있습니다.

시간 측정에는 std::chrono::steady_clock이나 std::chrono::system_clock 등을 사용할 수 있으며, 각 클럭마다 다른 특성을 가지고 있습니다. 시간 간격을 측정하려면 time_pointduration을 사용하여 시간을 측정할 수 있습니다. 또한, duration_cast를 사용해 본래의 단위로 변환할 수 있습니다.

#include <iostream>
#include <chrono>

int main() {
    auto start = std::chrono::steady_clock::now();

    // 시간 측정하려는 코드

    auto end = std::chrono::steady_clock::now();
    std::chrono::duration<double> elapsed_seconds = end - start;
    std::cout << "경과 시간: " << elapsed_seconds.count() << "초\n";

    return 0;
}

<ctime> 라이브러리

C++에서는 C에서 상속받은 <ctime> 라이브러리도 사용할 수 있습니다. 이 라이브러리는 C 스타일의 시간 및 날짜 관련 함수와 매크로를 제공합니다.

<ctime> 라이브러리를 사용하여 현재 시간을 가져오거나, 날짜 형식을 포맷하거나, 시간 간격을 계산할 수 있습니다. 가장 많이 사용되는 함수에는 time, localtime, strftime 등이 있습니다.

#include <iostream>
#include <ctime>

int main() {
    std::time_t now = std::time(nullptr);
    std::tm* local_time = std::localtime(&now);
    char time_str[100];
    std::strftime(time_str, 100, "%Y-%m-%d %H:%M:%S", local_time);
    std::cout << "현재 날짜 및 시간: " << time_str << '\n';

    return 0;
}

C++에서 제공하는 <chrono><ctime> 라이브러리를 활용하여 시간과 날짜를 다루면 안전하고 효율적인 코드를 작성할 수 있습니다.

참고 자료

이상으로 C++에서 시간 및 날짜 라이브러리를 활용하는 방법에 대해 알아보았습니다. 부가 질문이 있으시다면 망설이지 마세요!