Werken met datetimes

Python voor Finance - gevorderd

Kennedy Behrman

Data Engineer, Author, Founder

Datetime-attributen

now.year
now.month
now.day
2019
11
13
now.hour
now.minute
now.second
22
34
56
Python voor Finance - gevorderd

Datetimes vergelijken

gelijk aan ==

kleiner dan <

groter dan >

Python voor Finance - gevorderd

Datetimes vergelijken

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 voor Finance - gevorderd

Datetimes vergelijken

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 voor Finance - gevorderd

Verschil tussen datetimes

  • Vergelijk met <, > of ==.
  • Aftrekken geeft een timedelta-object.
  • timedelta-attributen: weeks, days, minutes, seconds, microseconds
Python voor Finance - gevorderd

Verschil tussen datetimes

delta = world_mini_crash - asian_crisis
type(delta)
datetime.timedelta
delta.days
117
Python voor Finance - gevorderd

Relatieve datetimes maken

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 voor Finance - gevorderd

Relatieve datetimes maken

delta = world_mini_crash - asian_crisis
type(delta)
datetime.timedelta
Python voor Finance - gevorderd

Relatieve datetimes maken

from datetime import timedelta
offset = timedelta(weeks = 1)
offset
datetime.timedelta(7)
dt - offset
datetime.datetime(2019, 1, 7, 0, 0)
Python voor Finance - gevorderd

Relatieve datetimes maken

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 voor Finance - gevorderd

Laten we oefenen!

Python voor Finance - gevorderd

Preparing Video For Download...