C,C++/개념 실습 프로그래밍
[c언어]현재 시간을 출력하려면 어떻게 해야할까?
luckybee
2022. 9. 21. 21:45
728x90
반응형
C언어로 현재 시간을 출력하고 싶으면 time.h 헤더를 include 해줘야 한다. 왜냐하면 _strtime_s 함수를 사용해야 현재 시간을 출력할 수 있기 때문이다.
코드는 아래와 같다.
#include<stdio.h>
#include<time.h>
int main()
{
char time_str[16]; //현재시간을 받을 문자열
if(_strtime_s(time_str,16)==0)
{
printf("%s\n",time_str); //현재 시간 출력
}
return 0;
}
만약 시스템이 정해준 형식이 아니라 사용자가 몇년 몇 월 며칠 몇 시 몇 분 몇 초 이렇게 출력하고 싶으면 다른 방법이 있다.
구조체 struct tm과 localtime_s 함수를 사용하면 된다.
localtime_s 함수는 기준 시간 값을 time_t 값으로 요구하기 때문에 현재 시간을 time함수를 이용하여 초 단위로 변환된 시간을 얻어야 한다.
코드는 아래와 같다.
#include<stdio.h>
#include<time.h> //time, localtime_s 함수를 사용하기 위해 include!
int main()
{
time_t time_item=(tume(NULL)); //현재시간을 초 단위로 받는다.
struct tm cur_time; //현재 시간을 넣을 구조체
if(localtime_s(&cur_time,&time_item)==0)
printf("%02d시 %02d분 %02d초\n",cur_time.tm_hour,cur_time.tm_min,cur_time.tm_sec); //현재 시간 출력
}
return 0;
}
728x90
반응형