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); // 현재 날짜/시간 출력
달력 날짜·시간을 다룰 때(현재 시각, 파일 시간 등) 쓰는 기본 시계예요.