728x90
datetime
이란?
파이썬 공식문서에서 datetime
모듈은 아래와 같이 정의되어 있다.
The datetime module provides classes for representing date and time information. It also provides functions for manipulating date and time objects, and for formatting and parsing date and time strings.
한글로 번역하면 아래와 같다.
datetime 모듈은 날짜와 시간 정보를 표현하는 클래스와 날짜와 시간 객체를 조작하고, 날짜와 시간 문자열을 포맷하고 구문 분석하는 함수를 제공하는 모듈이다.
즉, 날짜와 시간을 서로 비교하거나 연산을 하는데 매우 편리하게 해준다.
간단한 예시를 들어보자면, 임의의 날짜가 2개 주어진다면 그 날짜의 차이를 비롯해 연산을 쉽게 할 수 있다.
datetime
모듈이 제공하는 클래스들
datetime
: 날짜와 시간을 모두 나타내는 클래스date
: 날짜만 나타내는 클래스time
: 시간만 나타내는 클래스timedelta
: 날짜와 시간의 차이를 나타내는 클래스
datetime
모듈을 사용하는 예시
datetime
클래스
import datetime
# 오늘 날짜
today = datetime.datetime.today()
# 오늘 날짜와 3일 후의 날짜
three_days_later = today + datetime.timedelta(days=3)
# 오늘 날짜의 문자열 표현
today_str = today.strftime("%Y-%m-%d")
print(today)
print(three_days_later)
print(today_str)
datetime
출력
2023-11-28 14:15:00.000000
2023-12-01 14:15:00.000000
2023-11-28
date
클래스
# 오늘 날짜
today = datetime.date.today()
# 오늘 날짜의 문자열 표현
today_str = today.strftime("%Y-%m-%d")
print(today)
print(today_str)
date
출력
2023-11-28
2023-11-28
time
클래스
# 현재 시간
now = datetime.time.now()
# 현재 시간의 문자열 표현
now_str = now.strftime("%H:%M:%S")
print(now)
print(now_str)
time
출력
14:15:00
14:15:00
timedelta
클래스
# 오늘 날짜와 3일 후의 날짜
three_days_later = datetime.datetime.today() + datetime.timedelta(days=3)
# 오늘 날짜와 3일 후의 날짜의 차이
three_days_delta = three_days_later - datetime.datetime.today()
print(three_days_later)
print(three_days_delta)
timedelta
출력
2023-12-01 14:15:00.000000
2 days, 00:00:00
strftime()
함수
import datetime
# 오늘 날짜
today = datetime.datetime.today()
# 오늘 날짜의 문자열 표현
today_str = today.strftime("%Y-%m-%d")
print(today_str)
출력
2023-11-28
strptime()
함수
import datetime
# 문자열을 날짜와 시간으로 구문 분석
today_str = "2023-11-28 14:15:00"
today = datetime.datetime.strptime(today_str, "%Y-%m-%d %H:%M:%S")
print(today)
출력
2023-11-28 14:15:00