C++ 프로그래밍에서 현재 요일, 날짜, 시간을 화면에 출력하는 작업은 ctime 라이브러리만 있으면 간단하게 처리할 수 있습니다. ctime 라이브러리에는 날짜와 시간과 관련된 모든 함수와 변수들이 포함되어 있습니다.
ctime 라이브러리를 활용하면 현재 날짜와 시간 정보를 손쉽게 확인할 수 있으며, 이때 주로 사용되는 핵심 함수들은 다음과 같습니다.
주요 시간 관련 함수
1. time()
time() 함수는 현재 시간을 구하는 데 사용됩니다. 이 함수의 반환값은 time_t 타입인데, time_t는 시간 값을 저장할 수 있도록 정의된 데이터 타입입니다.
2. localtime()
localtime() 함수는 time_t 타입의 변수를 날짜와 시간을 모두 담을 수 있는 구조체로 변환해 줍니다. 즉, time_t 값을 날짜와 시간 정보를 함께 저장할 수 있는 구조체로 바꾸는 역할을 하며, time() 함수의 결과를 인수로 받습니다.
3. asctime()
localtime() 함수가 반환한 구조체 데이터는 출력 화면에 그대로 표시할 수 없습니다. 따라서 asctime() 함수를 사용해 사람이 읽을 수 있는 형태의 문자열로 변환해야 하며, 이 함수는 다음과 같은 형식으로 날짜를 반환합니다.
요일 월 일 시:분:초 연도
(예: day month date hh:mm:ss year)
전체 프로그램 구성
이제 위의 세 가지 함수를 하나의 프로그램으로 조합해 보겠습니다. 이 프로그램은 ctime 라이브러리의 함수들을 사용하며, time_t 타입의 변수를 선언한 뒤 time() 함수로 현재 날짜와 시간을 저장합니다. 이 변수의 값은 localtime() 함수로 전달되고, 그 반환값이 다시 asctime() 함수로 전달되어 사용자가 읽기 쉬운 형태로 변환된 후 화면에 출력됩니다.
예제 코드
#include<iostream>
#include<ctime>
using namespace std;
int main(){
time_t timetoday;
time (&timetoday);
cout << "오늘의 날짜와 시간 : " << asctime(localtime(&timetoday));
return 0;
}
실행 결과
오늘의 날짜와 시간 : Mon Sep 9 18:56:33 2019
실행 결과를 보면 요일(Mon), 월(Sep), 일(9), 시각(18:56:33), 연도(2019) 순서로 현재 날짜와 시간이 출력되는 것을 확인할 수 있습니다. 이처럼 ctime 라이브러리의 세 가지 함수를 조합하면 단 몇 줄의 코드로도 현재 시스템의 날짜와 시간을 손쉽게 가져와 출력할 수 있습니다.