C++ 프로그래밍에서 시간과 날짜를 다루는 데 유용한 기능을 제공하는 <chrono>
과 <ctime>
라이브러리를 사용하여 시간을 측정하고 표현하고 날짜를 처리할 수 있습니다.
<chrono>
라이브러리
<chrono>
라이브러리는 C++11부터 표준 라이브러리에 포함되어 시간 측정, 지연 및 연산을 위한 유연하고 강력한 기능을 제공합니다. 이 라이브러리를 사용하면 시간을 안전하게 측정하고 단위 변환을 수행할 수 있습니다.
시간 측정에는 std::chrono::steady_clock
이나 std::chrono::system_clock
등을 사용할 수 있으며, 각 클럭마다 다른 특성을 가지고 있습니다. 시간 간격을 측정하려면 time_point
와 duration
을 사용하여 시간을 측정할 수 있습니다. 또한, 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++
라이브러리 참조](https://en.cppreference.com/w/cpp/chrono) - C++
<ctime>
라이브러리 참조
이상으로 C++에서 시간 및 날짜 라이브러리를 활용하는 방법에 대해 알아보았습니다. 부가 질문이 있으시다면 망설이지 마세요!