Arbeta med datum och tider

Intermediate Python för finans

Kennedy Behrman

Data Engineer, Author, Founder

Datetime-attribut

now.year
now.month
now.day
2019
11
13
now.hour
now.minute
now.second
22
34
56
Intermediate Python för finans

Jämföra datetime-värden

lika med ==

mindre än <

större än >

Intermediate Python för finans

Jämföra datetime-värden

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
Intermediate Python för finans

Jämföra datetime-värden

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
Intermediate Python för finans

Skillnad mellan datetime-värden

  • Jämför med <, > eller ==.
  • Subtraktion returnerar ett timedelta-objekt.
  • timedelta-attribut: weeks, days, minutes, seconds, microseconds
Intermediate Python för finans

Skillnad mellan datetime-värden

delta = world_mini_crash - asian_crisis
type(delta)
datetime.timedelta
delta.days
117
Intermediate Python för finans

Skapa relativa datetime-värden

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
Intermediate Python för finans

Skapa relativa datetime-värden

delta = world_mini_crash - asian_crisis
type(delta)
datetime.timedelta
Intermediate Python för finans

Skapa relativa datetime-värden

from datetime import timedelta
offset = timedelta(weeks = 1)
offset
datetime.timedelta(7)
dt - offset
datetime.datetime(2019, 1, 7, 0, 0)
Intermediate Python för finans

Skapa relativa datetime-värden

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
Intermediate Python för finans

Nu kör vi en övning!

Intermediate Python för finans

Preparing Video For Download...