반응형

strptime(3)

#include <time.h>

char *strptime(const char *s, const char *format, struct tm *tm);

strptime(3)은 format에 정의된 형태의 문자열을 parsing하여 struct tm으로 변환하는 함수입니다.

 

 

파라미터

s
    -  format된 시간에 대한 문자열 - input
format
    - 시간정보에 대한 format정보. format정보는 %문자로 구분합니다.

%a : 현재 locale의 약자 요일(week) 문자열 ex). SUN 
%A : 현재 locale의 full 요일(week) 문자열 ex). Sunday
%b : 현재 locale의 약자 월(달) 문자열 ex). JAN 
%B : 현재 locale의 full 월(달) 문자열 ex). January 
%c : 현재 locale의 full 일시 정보 ex). Mon Jan 30 16:08:19 2017 
%C : 현재 locale의 세기(century) 정보 year / 100값 ex). 20 
%d : 현재 locale의 일자(day) 정보 ex). 01 ~ 31 
%D : 현재 locale의 날짜(2자리 년도)정보 %m/%d/%y  ex). 01/30/17 
%e : 현재 locale의 일자(day) 정보, %d와 비슷하나 1~9앞에는 space가 붙음 ex). 1~31 
%Ec : %c와 같음 
%Ex : %x와 같음 
%EX : %X와 같음 
%Ey : y와 같음 
%EY : %Y와 같음 
%F : %Y-%m-%d format 예). 2017-01-30 
%G : %Y와 같음. 4자리 년도 ex). 2017 
%g : 2자리 년도. ex). 17 
%h : %b와 같음. 현재 locale의 약자 월(달) 문자열 ex). JAN 
%H : 00~23까지의 시간 
%I : 01~12까지의 시간 
%j : 001 ~ 366까지의 1월 1일부터 현재까지의 날 수
%k : [ 0] ~ [23]까지의 시간. 0 ~ 9까지는 앞에 스페이스 붙음. ex).  9  
%l : [ 1] ~ [12]까지의 시간. 0 ~ 9까지는 앞에 스페이스 붙음. ex).  9  
%m : 01 ~ 12까지의 월(month) 
%M : 00 ~ 59까지의 분 Minute 
%n : new line 
%Od : %d와 같음 
%Oe : %e와 같음 
%OH : %H와 같음 
%OI : %I와 같음 
%Om : %m과 같음 
%OM : %M과 같음 
%OS : %S와 같음 
%Ou : %u와 같음 
%OU : %U와 같음 
%OV : %V와 같음 
%Ow : %w와 같음 
%OW : %W와 같음 
%Oy : %y와 같음 
%p: AM/PM 구분 
%P: am/pm 구분 
%r: %I:%M:%S %P format의 문자열 ex). 04:05:16 PM 
%R: %H:%M format의 시분 문자열  ex). 16:05 
%s: 1970-01-01 00:00:00 +0000(UTC) 기준의 초(seconds) 
%S: 00 ~ 60까지의 초 
%t: tab문자 
%T: %H:%M:%S 형태의 24시간 format 문자열. %X와 같음. ex). 16:05:10 
%u: 1~7까지의 요일정보 %w는 0 ~ 6까지의 요일정보
%U: 0~53까지의 그 해의 몇번째 주(week) 
%V: 1 ~ 53까지의 그 해의 몇번째 주(week). 시작 주(week)가 4일 이상인 주부터 1이 됨. 
%w: 0 ~ 6까지의 요일정보 0은 일요일 
%W: 00 ~ 53 까지의 그 해의 주정보 01은 처음으로 월요일이 있는 주 
%x: %m/%d/%g format(mm/dd/yy) 형태의 날짜 ex). 01/30/17 
%X: %H:%M:%S 형태의 24시간 format 문자열. %T와 같음.  ex). 16:05:10 
%y: 00 ~ 99까지의 2자리 년도 
%Y: 4자리 년도 
%z: +hhmm 또는 -hhmm의 time zone 표시 
%Z: timezone명 ex). KST 
%%: %문자 출력

 

tm
    -  변환될 시간 정보를 저장할 구조체(struct tm) - output

 

RETURN

NULL 아님
    -  마지막으로 parsing된 format 다음 글자. 
       끝의 format까지 끝났다면, 문자열의 끝인 null byte를 가리키는 pointer

NULL
    - 오류가 발생하였습니다.

 


 

see also : 시간 관련 함수

 

 

 

반응형
블로그 이미지

자연&사람

행복한 개발자 programmer since 1995.

,