size_t strftime(char *s, size_t maxsize, const char *format, const struct tm * timeptr); 일시로 포멧 문자열을 만드는 함수
입력 매개 변수 리스트
s 문자열로 표현한 일시(Date Time)를 설정할 버퍼
maxsize 버퍼 크기
format 출력 포멧
timeptr 일시
반환 값
출력 문자 개수
format에 자주 사용하는 것들은 다음과 같습니다.
%a 요일을 축약 %A 요일 %b 월을 축약 %B 월 %c 지역에 적합한 날짜와 시간 표현 %d 일 (01~31) %H 시각 (00~23) %I 시각 (01~12) %j 1년에서 일(001~355) %m 월 (01~12) %M 분(00~59) %p A.M/P.M 표시 %S 초(00~59) %U 년도에서 주 (00~53, 기준은 일요일) %w 요일(0~6, 일요일은 0) %W 년도에서 주(00~53, 기준은 월요일) %x 지역 날짜 표현 %X 지역 시간 표현 %y 년도(00~99) %Y 년도
사용 예
//C언어 표준 라이브러리 함수 가이드 //일시로 포멧 문자열을 만드는 함수 //size_t strftime(char *s, size_t maxsize, const char *format, const struct tm * timeptr); //다양한 포멧으로 현재 시간 출력 #include <locale.h> #include <time.h> #include <stdio.h> int main(void) { time_t now; struct tm now_tm; char buf[256]; setlocale(LC_ALL, "Korean");//지역을 한국으로 설정 time(&now); localtime_s(&now_tm, &now); strftime(buf, sizeof(buf), "%Y년 %m월 %d일 %p %I:%M:%S", &now_tm); puts(buf); strftime(buf, sizeof(buf), "%x %X", &now_tm); puts(buf); strftime(buf, sizeof(buf), "%Y년 %m월 %d일 %H:%M:%S", &now_tm); puts(buf); strftime(buf, sizeof(buf), "%y년 %m월 %d일 %H:%M:%S", &now_tm); puts(buf); strftime(buf, sizeof(buf), "%y년 %m월 %d일 %a %H:%M:%S", &now_tm); puts(buf); strftime(buf, sizeof(buf), "%y년 %m월 %d일 %A %H:%M:%S", &now_tm); puts(buf); setlocale(LC_ALL, "US"); strftime(buf, sizeof(buf), "%x %X", &now_tm); puts(buf); strftime(buf, sizeof(buf), "%x %X %a", &now_tm); puts(buf); strftime(buf, sizeof(buf), "%x %X %A", &now_tm); puts(buf); return 0; }
출력
2015년 10월 31일 오후 01:01:28 2015-10-31 오후 1:01:28 2015년 10월 31일 13:01:28 15년 10월 31일 13:01:28 15년 10월 31일 토 13:01:28 15년 10월 31일 토요일 13:01:28 10/31/2015 1:01:28 PM 10/31/2015 1:01:28 PM Sat 10/31/2015 1:01:28 PM Saturday