🐍Python | Django

[Python] strftime과 strptime

이줭 2021. 8. 25. 08:54
728x90

Python을 사용하여 개발을 하다 보면 날짜를 다뤄야 하는 일이 정말 많다.

항상 검색하여 사용하다 한번 정리해보자!라는 생각으로 글을 써본다.

 

생각해보니 평소에 제일 많이 사용하는 두 함수가 strftimestrptime인 것 같다.

 

날짜와 시간(datetime)을 문자열로 출력하려면 strftime

날짜와 시간 형식의 문자열을 datetime으로 변환하려면 strptime을 사용하면 된다.

 

기본적인 사용 방법은 다음과 같다.

 

import datetime
now = datetime.datetime.now()

date = now.strftime('%Y-%m-%d')
print(date)      # 2021-04-08
 
time = now.strftime('%H:%M:%S')
print(time)      # 21:28:20
 
datetime = now.strftime('%Y-%m-%d %H:%M:%S')
print(datetime)  # 2021-04-08 21:28:20

 

위와 같이 datetime을 문자열로 변환할 수 있고 datetime.strftime(형식)으로 사용할 수 있다.

다음으로 strptime의 경우

 

import datetime
 
str_datetime = '2021-04-08 21:31:48'
currdate = datetime.datetime.strptime(str_datetime, '%Y-%m-%d %H:%M:%S')

print(type(currdate)) 	# [class 'datetime.datetime']

 

위와 같이 사용할 수 있으며 datetime.strptime(문자열, 형식)의 형태로 사용된다.

 

거의 매일 사용한다고 해도 과언이 아닐 정도의 함수들이니 이번 기회에 확실히 정리하여

개발 시에 검색하는 시간을 줄일 수 있으면 좋겠다.

 

마지막으로 strftime과 strptime 사용 시 적용 가능한 형식은 이곳에 잘 정리되어 있지만,

대표적인 것 몇 개만 적어본다.

 

%y : 두 자리 수의 연도 ex) 19, 20, 21

%Y : 네 자리 수의 연도 ex) 2019, 2020, 2021

%m : 0을 채운 두 자리 수의 월 ex) 01, 02 ...  11 ,12

%d : 0을 채운 두 자리 수의 일 ex) 01, 02 ...  30, 31

%I : 0을 채운 12시간제의 시간 ex) 01, 02 … 12

%H : 0을 채운 24시간제의 시간 ex) 00, 01 … 23

%M : 0을 채운 두 자리 수의 분 ex) 00, 01 ... 58, 59

%S : 0을 채운 두 자리 수의 초 ex) 00, 01 ... 58, 59

 

끝!

728x90

'🐍Python | Django' 카테고리의 다른 글

[Python] main 함수  (0) 2022.04.26
[Python] Class와 상속(Inheritance)  (0) 2022.04.19
[Python] Decorator  (0) 2022.04.18
[Python] Under Score(_)?  (0) 2022.04.14
[Python] String join()/split()  (0) 2022.02.07