파이썬 datetime 오브젝트, date 오브젝트의 strftime() 메서드를 사용해 날짜 형식을 변환하는 방법을 알아보겠습니다.
strftime() 메서드에 주로 사용되는 서식을 먼저 살펴보겠습니다.
◆ %d : 0을 채운 10진수 표기로 날짜를 표시
◆ %m : 0을 채운 10진수 표기로 월을 표시
◆ %y : 0을 채운 10진수 표기로 2자리 년도
◆ %Y : 0을 채운 10진수 표기로 4자리 년도
◆ %H : 0을 채운 10진수 표기로 시간 (24시간 표기)
◆ %I : 0을 채운 10진수 표기로 시간 (12시간 표기)
◆ %M : 0을 채운 10진수 표기로 분
◆ %S : 0을 채운 10진수 표기로 초
◆ %f : 0을 채운 10진수 표기로 마이크로 초 (6자리)
◆ %A : locale 요일
◆ %a : locale 요일 (단축 표기)
◆ %B : locale 월
◆ %b : locale 월 (단축 표기)
◆ %j : 0을 채운 10진수 표기로 년중 몇 번째 일인지 표시
◆ %U : 0을 채운 10진수 표기로 년중 몇 번째 주인지 표시 (일요일 시작 기준)
◆ %W : 0을 채운 10진수 표기로 년중 몇 번째 주인지 표시 (월요일 시작 기준)
%A, %a, %B, %b는 locale 설정에 따라 한국어나 영어 등 출력하는 문자열이 다릅니다.
strftime() 메서드에 서식을 지정해 날짜 형식을 변환해보겠습니다.
import datetime
dt_now = datetime.datetime.now()
d_today = datetime.date.today()
print(dt_now.strftime('%Y-%m-%d %H:%M:%S'))
# 2020-09-02 11:35:16
print(d_today.strftime('%y%m%d'))
# 200902
print(d_today.strftime('%Y/%m/%d'))
# 2020/09/02
print(d_today.strftime('%A, %B %d, %Y'))
# Wednesday, September 02, 2020
print(d_today.strftime('%a, %b %d, %Y'))
# Wed, Sep 02, 2020
print('날짜 번호(1년중 며칠째인지 / 1월1일 은 001):', d_today.strftime('%j'))
print('주 번호(일요일 기준 / 1월 첫번째 주 00):', d_today.strftime('%U'))
print('주 번호(월요일 기준 / 1월 첫번째 주 00):', d_today.strftime('%W'))
# 날짜 번호(1년중 며칠째인지 / 1월1일 은 001): 246
# 주 번호(일요일 기준 / 1월 첫번째 주 00): 35
# 주 번호(월요일 기준 / 1월 첫번째 주 00): 35
strftime() 원하는 서식을 지정해 날짜 형식을 변경할 수 있습니다.
또는 1년 중 며칠째인지, 몇 주째인지 계산하고 싶은 경우에도 서식을 지정해 간단히 계산할 수 있습니다.
댓글