본문 바로가기
dev/python

[python] 파이썬 날짜/시간 형식 맞춰 출력하기 (date, time)

by 최연탄 2020. 11. 30.
728x90
반응형

날짜와 시간을 일정한 포맷의 문자열로 변환하려면 strftime 함수를 사용하면 됩니다.

date, datetime 및 time 객체는 모두 strftime(format) 메서드를 지원합니다.

>>> date.today().strftime('%Y%m%d')
'20201130'
>>> date.today().strftime('%y-%m-%d %H:%M:%S')
'20-11-30 00:00:00'
>>> time.strftime('%c', time.localtime(time.time()))
'Mon Nov 30 14:59:35 2020'

time.localtime 함수는 에포크(epoch)시간을 반환합니다.

에포크(epoch)시간은 시간이 시작되는 시점을 말하며 플랫폼에 따라 다릅니다.

유닉스의 에포크는 1970년 1월 1일, 00:00:00(UTC) 입니다.

사용 중인 플랫폼의 에포크(epoch)시간을 알고 싶으면 time.gmtime 함수를 사용하면 됩니다.

>>> time.gmtime(0)
time.struct_time(tm_year=1970, tm_mon=1, tm_mday=1, tm_hour=0, tm_min=0, tm_sec=0, tm_wday=3, tm_yday=1, tm_isdst=0)

macOS에서 실행 결과 위와 같은 결과가 나왔습니다.

다음은 자주 쓰이는 포맷코드입니다.

%Y 세기가 있는 해(year)를 10진수로 0001, 0002, …, 2013, 2014, …, 9998, 9999
%y 세기가 없는 해(year)를 0으로 채워진 10진수로 00, 01, …, 99
%m 월을 0으로 채워진 10진수로 01, 02, …, 12
%d 월중 일(day of the month)을 0으로 채워진 10진수로 01, 02, …, 31
%H 시(24시간제)를 0으로 채워진 십진수로 00, 01, …, 23
%I 시(12시간제)를 0으로 채워진 십진수로 01, 02, …, 12
%p 로케일의 오전이나 오후에 해당하는 것 AM, PM
%M 분을 0으로 채워진 십진수로 00, 01, …, 59
%S 초를 0으로 채워진 10진수로 00, 01, …, 59

더 자세한 사항은 포맷코드에서 확인할 수 있습니다.

반응형

댓글