본문 바로가기
12.날짜와 시간

파이썬 날짜/시간데이터 포멧팅하기 (time 모듈)

by 만다린망고 2020. 11. 20.
반응형

파이썬 날짜/시간데이터 포멧팅하기 (%Y-%m-%d)


파이썬의 time 패키지에서 기준으로 하는 시간데이터는 유닉스 시간입니다. 아래와 같이 출력합니다.


>>> time.time()

1605839984.3338


이 값은 어떤 시점을 기준으로한 '초' 데이터입니다. 따라서 이 데이터를 우리가 흔히 사용하는 연월일시분초 데이터로 바꿔야하는데, 이때 두 종류의 함수가 사용됩니다.


gtime() : GMP시간으로 변환

localtime() : 현지 시간으로 변환


localtime 함수를 적용해봅시다.


>>> time.localtime(time.time())

time.struct_time(tm_year=2020, tm_mon=11, tm_mday=20, tm_hour=11, tm_min=40, tm_sec=59, tm_wday=4, tm_yday=325, tm_isdst=0)


time struct 형태의 데이터입니다. 어떤 값이 무엇을 의미하는지는 알 수 있지만 한눈에 알아보기 어렵습니다. 이런 경우 사용하는 것이 포멧팅입니다. 한가지 예시를 통해 이해해봅시다. 


>>> mytime=time.localtime(time.time())

>>> time.strftime('%Y-%m-%d %I:%M:%S %p', mytime)

'2020-11-20 11:43:26 AM'


strftime 함수를 이용하고, 형식은 아래와 같습니다. 


time.strftime('포멧팅' , time struct 데이터)


우리에게 익숙한 형태로 출력이 되었습니다. 포멧팅 형식을 알아봅시다. 대표적이 형식은 아래와 같습니다.



<연>

%y Year without century as a decimal number [00,99].

%Y Year with century as a decimal number.


<월>

%m Month as a decimal number [01,12].


<일>

%j Day of the year as a decimal number [001,366].

%d Day of the month as a decimal number [01,31].


<시>

%H Hour (24-hour clock) as a decimal number [00,23].

%I Hour (12-hour clock) as a decimal number [01,12].


<분>

%M Minute as a decimal number [00,59].


<초>

%S Second as a decimal number [00,61].


<AM/PM 표시>

%p


그외 모든 포멧팅 규칙은 아래 링크를 참고해주세요.


https://docs.python.org/3.8/library/time.html#time.strftime

반응형

댓글