Робота з датами й часом

Середній рівень 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...