python에는 datetime이라는 훌륭한 라이브러리가 있습니다.
datetime은 날짜와 시간을 조작하는 클래스를 제공합니다. 오늘은 strftime에 대해서만 공부해보려고 합니다.
-
현재 날짜와 시간을 알아낼때는 아래와 같이 이용합니다.
from datetime import datetime
all = datetime.now()
# 2020-09-24 14:44:44
하지만 업무를 하다 보면 년도, 월, 일 혹은 시간만 뽑아내서 사용하는 경우가 훨씬 많습니다.
그럴때는 strftime을 이용하면 편리하게 이용할 수 있습니다.
strftime은 포매터를 이용하여 원하는 내용을 출력하게 만들 수 있습니다.
strftime과 strptime의 차이점을 간략하게 정리해보았습니다.
-
strftime
-
객체를 문자열로 리턴
-
인스턴스 메서드
-
strftime(format)
-
현재의 날짜와 시간을 문자열로 출력
-
-
strptime
-
주어진 포맷으로 문자열을 datetime 객체로 분석
-
클래스 메서드
-
strptime(date_string, format)
-
날짜, 시간 형식의 문자열을 datetime으로 변환해서 출력
-
from datetime import datetime
ex_time_string = '2020-10-01'
datetime.strptime(ex_time_string, '%Y-%m-%d')
-
%a를 사용하면 그 주의 요일을 앞의 3글자만 축약된 형태로 출력됩니다.
-
%A를 사용하면 그 주의 요일의 전체 이름을 출력합니다.
-
%w를 이용하면 요일을 십진수로 출력합니다.
-
요일별 서비스 제공을 개발할때 잘 사용했던 기억이 있네요.
-
datetime.now().strftime("%a")
# Sun, Mon ..... Fri
datetime.now().strftime("%A")
# Sunday, Monday ... Friday
datetime.now().strftime("%w")
# 0, 1 ...
-
%d를 이용하면 day를 출력합니다. 이때 1~9일은 01 ~ 09 형식으로 출력됩니다.
datetime.now().strftime("%d")
# 01, 02 ...
-
%m을 사용하면 Month를 출력합니다. 이때 1~9월은 01~09 형식으로 출력됩니다.
-
%b를 사용하면 Month의 영문 이름을 축약된 형태로 출력합니다.
-
%B를 사용하면 Month의 영문 이름을 모두 출력합니다.
datetime.now().strftime("%m")
# 01, 02 ...
datetime.now().strftime("%b")
# Sep
datetime.now().strftime("%B")
# September
-
%y를 이용하면 년도의 뒷자리만 출력합니다 (ex : 2020년은 20)
-
%Y를 이용하면 전체 년도를 출력합니다.
datetime.now().strftime("%y")
# 01, 02 ...
datetime.now().strftime("%Y")
# 2020, 2021 ...
-
%H를 이용하면 현재 시간을 24시간제로 출력합니다
-
%I를 이용하면 현재 시간을 12시간제로 출력합니다.
datetime.now().strftime("%H")
# 21, 23, 0
datetime.now().strftime("%I")
# 1 ... 12
-
%M을 이용하면 분을 출력합니다. 이때 1~9분은 01 ~ 09 형식으로 출력됩니다.
datetime.now().strftime("%M")
# 01 .. 59
-
%S를 이용하면 초를 출력합니다. 이때 1~9분은 01 ~ 09 형식으로 출력됩니다.
datetime.now().strftime("%S")
# 01 .. 59
-
%j는 연중일을 출력합니다.
-
예를들어서 1월 21일 이라면 21을 리턴해주고, 2월1일이라면 32를 리턴해주는 식입니다.
-
-
%U는 연중 주 번호를 일요일 기준으로 출력합니다.
-
%W는 연중 주 번호를 월요일 기준으로 출력합니다.
# 연중일
datetime.now().strftime("%j")
# 연중주 - 시작일(일요일)
datetime.now().strftime("%U")
# 연중주 - 시작일(월요일)
datetime.now().strftime("%W")
'Python > Python__works' 카테고리의 다른 글
mysqlclient (0) | 2020.09.28 |
---|---|
서버의 로그를 파이썬으로 읽어서 slack으로 전달하기 (0) | 2020.09.24 |
실행 중인 메서드이름, 파일 이름 (0) | 2020.09.24 |
fetchone() 분실 사건 (0) | 2020.09.22 |
python slacker (0) | 2020.06.11 |