difftime
difftime (두 시각의 차이 계산)
두 달력 시각 사이의 차이를 초 단위로 계산하는 함수예요. <ctime> 헤더에 있어요.
출처: cppreference
본문
difftime은 두 std::time_t 객체를 받아 그 차이를 초 단위로 계산해요.
double difftime( std::time_t time_end, std::time_t time_beg );
계산은 time_end - time_beg 의미이고, time_end가 time_beg보다 이른 시점이면 결과는 음수가 돼요.
- 매개변수:
time_beg,time_end— 비교할 두 시각. - 반환 값: 두 시각의 차이(초).
POSIX 시스템에서 std::time_t는 초 단위로 측정되고 difftime은 산술 뺄셈과 동등해요. 하지만 C와 C++ 표준은 time_t에 분수 단위를 허용하므로, 표준적인 방법으로 두 시각 차이를 구할 때는 포터블하게 difftime을 쓰는 게 안전해요.
std::time_t start = std::time(nullptr);
// ... 시간이 걸리는 작업 ...
std::time_t end = std::time(nullptr);
double secs = std::difftime(end, start);
std::cout << "elapsed: " << secs << "s\n";
정밀도가 더 필요하면 C++11 이후 <chrono>의 std::chrono::steady_clock이나 std::chrono::duration_cast를 쓰는 편이 더 좋아요. difftime은 C 스타일 API 호환용으로 적합해요.