관리 메뉴

History

[c언어]현재 시간을 출력하려면 어떻게 해야할까? 본문

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
반응형
Comments