datetime 라이브러리를 이용하면 시간을 보다 쉽게 다룰 수 있다.
특정 날짜와 오늘 날짜의 차이를 알 수도 있고, 오늘 날짜에 일 수를 더해서 특정 날짜를 알 수 있는 등의 날짜 연산이 가능하게 된다.
코딩테스트를 준비면서 혹은 추후에 datetime 라이브러리를 쓰게 되는 경우를 대비하여 datetime 라이브러를 정리하고자 한다.
import datetime
# 위와 같이 datetime 라이브러리를 import하면 datetime.datetime으로 함수를 호출해야한다.
from datetime import datetime
# 위와 같이 from을 이용한다면 datetime을 바로 호출하여 함수를 사용할 수 있다.
today = datetime.today()
# 2022-09-27 23:31:59.291222
now = datetime.now()
# 2022-09-27 23:31:59.291222
date = datetime(2022,5,16)
# 2022-05-16 00:00:00
only_date = now.date()
# 2022-09-27
only_time = now.time()
# 23:31:59.291222
today = datetime.today()
# 2022-09-27 23:31:59.291222
y_m_d = today.strftime('%Y.%m.%d')
# 2022.09.27
print (type(y_m_d))
# <class 'str'>
print (today.strftime('오늘은 %Y년 %m월 %d일입니다.'))
# 오늘은 2022년 09월 27일입니다.
print (today.strftime('24시간 표기 : %H, 12시간 표기 : %I'))
# 24시간 표기 : 23, 12시간 표기 : 11
print (today.strftime('%H시 %M분 %S초'))
# 23시 31분 59초
print (today.strftime('%I시 %M분 %S초'))
# 11시 31분 59초
print (today.strftime('%A,%a'))
# Tuesday,Tue
today.isoformat()
# '2022-09-27'
from datetime import date
date.fromisoformat('2022-09-27')
# datetime.date(2022, 9, 27)
from datetime import datetime, timedelta
date2 = datetime(2022, 9, 27)
date1 = datetime(2022, 9, 16)
print (date2)
# 2022-09-27 00: 00: 00
print (date1)
# 2022-09-16 00: 00: 00
date2_1 = date2-date1
print(date2_1)
# 11 days, 0: 00: 00
year, month, day = 2022, 9, 27
time2 = datetime(year, month, day, hour=18, minute=59)
time1 = datetime(year, month, day, hour=5, minute=41)
print (time2)
# 2022-09-27 18: 59: 00
print (time1)
# 2022-09-27 05: 41: 00
time2_1 = time2-time1
print(time2_1)
# 13:18:00
print(time2_1.seconds)
# 47880 (=47880초)
print(f"분으로 변환 : {time2_1.seconds//60}분")
print(f"시간으로 변환 : {time2_1.seconds/3600}시간")
timedelta(days=10, hours=13, minutes=30)
# datetime.timedelta(days=10, seconds=48600)
now = datetime.now()
t = timedelta(days=10, hours=13, minutes=30)
print (now)
# 2022-09-27 23:31:59.291222
print (now+t)
# 2022-10-08 13:01:59.291222