Datetime 패키지
import datetime as dt
datetime 클래스
dt.datetime.now()
# 결과: datetime.datetime(2024, 12, 9, 21, 58, 30, 24348)
- 컴퓨터의 현재 시각을 datetime 클래스 객체로 만들어 반환
- year
- month
- day
- hour
- minute
- second
- microsecond
x = dt.datetime.now()
x.year, x.month, x.day, x.hour, x.minute, x.second, x.microsecond
weekday
x.weekday()
# 결과: {0:월, 1:화, 2:수, 3:목, 4:금, 5:토, 6:일}
strftime
x.strftime("""사용자 지정 포맷""")
- %Y: 앞의 빈자리를 0으로 채우는 4자리 연도 숫자
- %m: 앞의 빈자리를 0으로 채우는 2자리 월 숫자
- %d: 앞의 빈자리를 0으로 채우는 2자리 일 숫자
- %H: 앞의 빈자리를 0으로 채우는 24시간 형식 2자리 시간 숫자
- %M: 앞의 빈자리를 0으로 채우는 2자리 분 숫자
- %S: 앞의 빈자리를 0으로 채우는 2자리 초 숫자
- %A: 영어로 된 요일 문자열
- %B: 영어로 된 월 문자열
x = dt.datetime.now()
x.strftime('%Y-%m-%d')
# 결과: '2024-12-09'
strptime
- 입력 받은 문자열로 datetime 객체 생성.
- datetime.strptime(입력 문자열, 출력 포맷)
dt.datetime.strptime("2024-12-09 22:25", "%Y-%m-%d %H:%M")
# 결과: datetime.datetime(2024, 12, 9, 22, 25)
timedelta
- 문자를 날짜로 변경
x = '2019-12-10'
date = datetime.strptime(x, '%Y-%m-%d')
- 날짜 연산
date + dt.timedelta(days = 40)
# datetime.datetime(2020, 1, 19, 0, 0)
date + dt.timedelta(weeks = 6)
# datetime.datetime(2020, 1, 21, 0, 0)
Dateutil 패키지
- dateutil 패키지의 parse 함수를 쓰면 자동으로 형식 문자열을 찾아 datetime 클래스 객체 생성
from dateutil.parser import parse
parse('2024 12 9')
# 결과: datetime.datetime(2024, 12, 9, 0, 0)
parse("Dec 25, 2024 04:05:32 PM")
# 결과: datetime.datetime(2024, 12, 25, 16, 5, 32)
- 다만 월과 일이 모두 12보다 작은 숫자일 때는 먼저 나오는 숫자를 월로 나중에 나오는 숫자를 일로 판단.
parse('9/8/2024')
# 결과: datetime.datetime(2024, 9, 8, 0, 0)
참고자료 - 2.15 파이썬에서 날짜와 시간 다루기