system_clock

system_clock (시스템/벽시계)

현재 달력 시각을 나타내는 시스템 시계예요. <chrono> 헤더, C++11부터.

출처: cppreference

본문

std::chrono::system_clock은 운영체제의 시스템 실시간 시계예요. 달력(벽시계) 시각을 나타내요.

class system_clock;
  • system_clock::now()는 현재 시각을 time_point로 반환해요.
  • to_time_t/from_time_t로 C의 std::time_t와 변환할 수 있어요.
  • to_sys/from_sys 계열로 다른 시계와도 변환돼요.

epoch은 보통 1970-01-01 00:00 UTC이고, TrivialClock 요구사항을 만족해요. 단, 벽시계라서 시스템 시각이 변경되면(사용자가 시계를 바꾸거나 NTP 동기화 등) 점프할 수 있어요. 그래서 경과 시간 측정에는 steady_clock이 적합해요.

auto now = std::chrono::system_clock::now();
std::time_t t = std::chrono::system_clock::to_time_t(now);
std::cout << std::ctime(&t);   // 현재 날짜/시간 출력

달력 날짜·시간을 다룰 때(현재 시각, 파일 시간 등) 쓰는 기본 시계예요.

더 알아보기 (Learn more)

cppreference