Python을 사용하여 개발을 하다 보면 날짜를 다뤄야 하는 일이 정말 많다.
항상 검색하여 사용하다 한번 정리해보자!라는 생각으로 글을 써본다.
생각해보니 평소에 제일 많이 사용하는 두 함수가 strftime과 strptime인 것 같다.
날짜와 시간(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
끝!
'🐍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 |