Computer >> 컴퓨터 >  >> 프로그래밍 >> C++

C++에서 현재 날짜와 시간을 구하는 방법

C++ 프로그래밍에서 현재 날짜와 시간을 확인해야 하는 경우가 자주 있습니다. 이 글에서는 표준 라이브러리의 time()ctime() 함수를 활용해 현재 로컬 날짜와 시간을 손쉽게 얻는 방법을 예제와 함께 살펴보겠습니다.

예제 코드

#include <iostream>
using namespace std;

int main() {
    time_t now = time(0);
    char *date = ctime(&now);

    cout << "현재 로컬 날짜와 시간 : " << date << endl;
    return 0;
}

실행 결과

위 코드를 컴파일하고 실행하면 다음과 같은 결과가 출력됩니다.

현재 로컬 날짜와 시간 : Wed Oct 3 08:35:24 2018

코드 설명

핵심 로직은 main() 함수 안에 있습니다. 먼저 time_t 타입의 변수 now를 선언하고, 내장 함수인 time()을 호출하여 현재 시스템의 로컬 시간 정보를 가져옵니다.

time_t now = time(0);
char *date = ctime(&now);

time() 함수는 1970년 1월 1일(UTC 기준)부터 경과한 초 단위의 시간을 반환하며, 이 값은 사람이 읽기 어려운 숫자 형태입니다. 따라서 ctime() 함수를 사용해 이 값을 "Wed Oct 3 08:35:24 2018"처럼 읽기 쉬운 문자열 형태로 변환합니다.

참고: 더 정밀한 시간 처리가 필요하다면

날짜와 시간을 연도, 월, 일 등 개별 요소로 분리하거나 밀리초 단위의 정밀한 측정이 필요하다면, C++11부터 도입된 <chrono> 라이브러리나 localtime() 함수를 활용하는 것이 좋습니다. localtime()tm 구조체에 연도, 월, 일, 시, 분, 초를 각각 담아주므로 원하는 형식으로 자유롭게 가공할 수 있습니다.