728x90
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 | 두 자리 수의 연도 | 19, 20, 21 |
%Y | 네 자리 수의 연도 | 2019, 2020, 2021 |
%m | 0을 채운 두 자리 수의 월 | 01, 02 ... 11, 12 |
%d | 0을 채운 두 자리 수의 일 | 01, 02 ... 30, 31 |
%I | 0을 채운 12시간제의 시간 | 01, 02 ... 23 |
%H | 0을 채운 24시간제의 시간 | 00, 01 ... 23 |
%M | 0을 채운 두 자리 수의 분 | 00, 01 ... 58, 59 |
%S | 0을 채운 두 자리 수의 초 | 00, 01 ... 58, 59 |
728x90
'Python' 카테고리의 다른 글
[Python] datetime.weekday() (0) | 2025.02.24 |
---|---|
[Python] APScheduler 가이드 (0) | 2025.02.18 |
[Python] 이메일에 파일 첨부하기 - smtplib (2) | 2024.11.19 |
[Python] 파이썬 날짜 표현 한글 에러 (1) | 2024.11.14 |
[Python] UIAutomation for Windows 객체 컨트롤하기 (0) | 2024.10.22 |