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

C++에서 시스템 시간 출력하기 (3가지 방법)

C++에서는 시스템의 요일, 날짜, 시간을 사람이 읽기 쉬운 형태(Human Readable Format)로 출력하는 다양한 방법이 있습니다. 이 글에서는 대표적인 세 가지 방법을 예제 코드와 함께 살펴보겠습니다.

첫 번째 방법: time(), localtime(), asctime() 사용

각 함수의 역할은 다음과 같습니다.

time() − 현재 캘린더 시간(달력 기준 시간)을 구하는 함수로, 시간을 저장하는 산술 데이터 타입(time_t)을 반환합니다.
localtime() − time_t 값을 받아 날짜와 시간 정보를 담고 있는 tm 구조체를 채워줍니다.
asctime() − localtime()으로 얻은 지역 시간을 사람이 읽을 수 있는 문자열 형식으로 변환합니다.

출력되는 형식은 다음과 같습니다.

요일 월 일 시:분:초 연도

예제 코드

#include<iostream>
#include<ctime> // 날짜와 시간을 다루기 위해 사용
using namespace std;
int main() {
   time_t t; // time() 함수의 인자로 전달될 변수 t
   struct tm * tt; // localtime()용 변수 선언
   time (&t); // time() 함수에 인자 전달
   tt = localtime(&t);
   cout << "Current Day, Date and Time is = "<< asctime(tt);
   return 0;
}

실행 결과

위 프로그램을 실행하면 다음과 같은 결과가 출력됩니다.

Current Day, Date and Time is = Tue Jul 23 19:05:50 2019

두 번째 방법: chrono 라이브러리 사용

chrono 라이브러리는 초(second), 밀리초(millisecond), 마이크로초(microsecond), 나노초(nanosecond) 단위로 경과 시간을 측정할 때 주로 사용되며, 이를 활용해 현재 시스템 시간도 손쉽게 얻을 수 있습니다.

예제 코드

#include <chrono>
#include <ctime>
#include <iostream>
using namespace std;
int main() {
   auto givemetime = chrono::system_clock::to_time_t(chrono::system_clock::now());
   cout << ctime(&givemetime) << endl;
}

실행 결과

위 프로그램을 실행하면 다음과 같은 결과가 출력됩니다.

Tue Jul 23 19:05:50 2019

세 번째 방법: ctime() 함수 사용

C 스타일의 표준 입출력 함수를 사용하는 방식으로, time(NULL)로 현재 시간을 얻은 후 ctime() 함수를 통해 바로 읽기 쉬운 문자열로 변환할 수 있습니다.

예제 코드

#include <stdio.h>
#include <stdlib.h>
#include <time.h>
int main() {
   time_t givemetime = time(NULL);
   printf("%s", ctime(&givemetime)); // ctime()은 주어진 시간을 반환
   return 0;
}

실행 결과

위 프로그램을 실행하면 다음과 같은 결과가 출력됩니다.

Tue Jul 23 20:14:42 2019

마무리

세 가지 방법 모두 C++에서 시스템 시간을 손쉽게 확인할 수 있는 유용한 방법입니다. 간단한 출력에는 ctime()이나 asctime()이 적합하고, 정밀한 시간 측정이나 현대적인 C++ 스타일을 원한다면 chrono 라이브러리를 사용하는 것이 좋습니다.