การทำงานกับ 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...