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_endtime_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 호환용으로 적합해요.

더 알아보기 (Learn more)

cppreference