1 분 소요

이 글을 참고했다.

datetime 패키지

  • datetime 패키지에서는
    • 날짜와 시간을 함께 저장하는 datetime 클래스
    • 날짜만 저장하는 date 클래스
    • 시간만 저장하는 time 클래스
    • 시간 구간 정보를 저장하는 timedelta 클래스 등을 제공한다
import datetime as dt
d0 = dt.datetime(2018, 9, 1, 13)
d1 = dt.date(2018, 9, 1)
d2 = dt.time(13)
d3 = d0 + dt.timedelta(days=48, seconds=3600)

print(d0) # 2018-09-01 13:00:00
print(d1) # 2018-09-01
print(d2) # 13:00:00
print(d3) # 2018-10-19 14:00:00

timedelta의 단점은 날짜와 초 단위로만 연산을 할 수 있다는 점이다.
이를 보완하기 위해 dateutil 패키지는 월 단위의 계산을 지원하는 relativedelta 클래스를 제공한다.

다양한 메서드

import datetime as dt
d0 = dt.datetime(2018, 9, 1, 13, 27, 4)

print(d0.year) # 2018
print(d0.month) # 9
print(d0.day) # 1
print(d0.hour) # 13
print(d0.minute) # 27
print(d0.second) # 4

weekday: 요일 반환

import datetime as dt
d0 = dt.datetime(2018, 9, 1, 13, 27, 4)

# {0:월, 1:화, 2:수, 3:목, 4:금, 5:토, 6:일}
print(d0.weekday()) # 5

strftime: 문자열 반환

특히 많이 사용되는 것이 날짜와 시간 정보를 문자열로 바꿔주는 strftime 메서드다.
이 메서드는 어떤 형식으로 문자열을 만들지 결정하는 형식 문자열을 인수로 받는다.
형식 문자열은 날짜 및 시간 지정 문자열을 포함한다.

import datetime as dt
d0 = dt.datetime(2018, 9, 1, 13, 27, 4)

print(d0.strftime("%A %d. %B %Y")) # Saturday 01. September 2018
print(d0.strftime("%H시 %M분 %S초")) # 13시 27분 04초

다음은 많이 사용되는 날짜 및 시간 지정 문자열이다.
스크린샷 2023-04-14 오전 1 47 08

dateutil 패키지

relativedelta

import datetime as dt
from dateutil.relativedelta import relativedelta
t0 = dt.datetime(2018, 9, 1, 13)

d = t0 + relativedelta(months=2)
print(d) # 2018-11-01 13:00:00

parser

from dateutil.parser import parse
today = "2022.05.19"
tod = parse(today)
print(tod) # 2022-05-19 00:00:00
print(type(tod)) # <class 'datetime.datetime'>


💛 개인 공부 기록용 블로그입니다. 👻

맨 위로 이동하기

태그:

카테고리:

업데이트: