datetime 다루기

금융을 위한 중급 Python

Kennedy Behrman

Data Engineer, Author, Founder

Datetime 속성

now.year
now.month
now.day
2019
11
13
now.hour
now.minute
now.second
22
34
56
금융을 위한 중급 Python

datetime 비교

같음 ==

보다 작음 <

보다 큼 >

금융을 위한 중급 Python

datetime 비교

from datetime import datetime
asian_crisis = datetime(1997, 7, 2)
world_mini_crash = datetime(1997, 10, 27)
asian_crisis > world_mini_crash
False
asian_crisis < world_mini_crash
True
금융을 위한 중급 Python

datetime 비교

asian_crisis = datetime(1997, 7, 2)
world_mini_crash = datetime(1997, 10, 27)
text = "10/27/1997"
format_str =  "%m/%d/%Y"
sell_date = datetime.strptime(text, format_str)
sell_date == world_mini_crash
True
금융을 위한 중급 Python

datetime 간 차이

  • <, >, ==로 비교합니다.
  • 뺄셈은 timedelta 객체를 반환합니다.
  • timedelta 속성: weeks, days, minutes, seconds, microseconds
금융을 위한 중급 Python

datetime 간 차이

delta = world_mini_crash - asian_crisis
type(delta)
datetime.timedelta
delta.days
117
금융을 위한 중급 Python

상대적 datetime 생성

dt
datetime.datetime(2019, 1, 14, 0, 0)
datetime(dt.year, dt.month, dt.day - 7)
datetime.datetime(2019, 1, 7, 0, 0)
datetime(dt.year, dt.month, dt.day - 15)
ValueError                                Traceback (most recent call last)
<ipython-input-28-804001f45cdb> in <module>()
-> 1 datetime(dt.year, dt.month, dt.day - 15)
ValueError: day is out of range for month
금융을 위한 중급 Python

상대적 datetime 생성

delta = world_mini_crash - asian_crisis
type(delta)
datetime.timedelta
금융을 위한 중급 Python

상대적 datetime 생성

from datetime import timedelta
offset = timedelta(weeks = 1)
offset
datetime.timedelta(7)
dt - offset
datetime.datetime(2019, 1, 7, 0, 0)
금융을 위한 중급 Python

상대적 datetime 생성

offset = timedelta(days=16)
dt - offset
datetime.datetime(2018, 12, 29, 0, 0)
cur_week = last_week + timedelta(weeks=1)
# Do some work with date
# set last week variable to cur week and repeat
last_week = cur_week
source_dt = event_dt - timedelta(weeks=4)
# Use source datetime to look up market factors
금융을 위한 중급 Python

연습해 봅시다!

금융을 위한 중급 Python

Preparing Video For Download...