본문 바로가기
Python

Python - Datetime 날짜 문자열 변환 strftime() 활용

by 올엠 2022. 5. 10.
반응형

날짜는 여러가지로 활용하는 요소가 많다, 특히 다른 데이터 형태로 활용해야 하는 경우 날짜를 원하는 문자열로 변경해서 활용하는것이 가장 많이 사용되는 방식으로 datetime에서 제공하는 문자열 변환 함수 strftime에 대해서 알아보도록 하자.

strftime을 이용하면 datetime의 값을 문자열로 변경할 수 있으며, 변환시 사용할 수 있는 주요 메소드는 다음과 같다.

메소드 마다 특정 자리로 고정되어 있으며, 값이 없는 경우 0으로 표현하도록 되어 있다.
10진수 표기 - 2자리

%d :  날짜 표시
%m : 월 표시
%y : 년도 표시
%H : 24시간 표기
%I : 12시간 표기
%M : 분
%S : 초
4자리
%Y : 년도
6자리
%f : 마이크로 초 (6자리)

사용시 주의할 점은 y는 대소문자가 동일한 년도를 나타나는 메소드 이지만, m은 월을 M은 분을 나타낸다는 점을 기역해야 한다.

이외에도 요일과 월을 숫자가 아닌 문자로 표현할 수 있으므로 아래 메소드도 알아두면 유용하다.

%A : 시스템 로컬 요일 문자
%a : 시스템 로컬 요일 문자 (3자리 표시)
%B : 시스템 로컬 월 문자
%b : 시스템 로컬 월 문자 (3자리 표시)

 

예제코드는 다음과 같다.

import datetime

#UTC 기준 현재 시간을 표시
dt_now = datetime.datetime.utcnow() 
#현재 시간을 표시
dt_now = datetime.datetime.now()
#오늘 날짜를 표시 
dt_today = datetime.date.today() 

print(dt_now.strftime('%Y-%m-%d %H:%M:%S'))
#2022-05-10 14:31:33
print(dt_today.strftime('%Y-%m-%d %H:%M:%S'))
#2022-05-10 00:00:00

print(dt_today.strftime('%y%m%d'))
#220510

print(dt_today.strftime('%A, %B %d, %Y'))
#Tuesday, May 10, 2022

print('Year Count(Start 1월 1일):', dt_today.strftime('%j'))
print('Week of Year Count(by Sunday:', dt_today.strftime('%U'))
print('Week of Year Count(by Monday:', dt_today.strftime('%W'))

 

반응형