處理時間相關的module, 本章主要講解 datetime, timedelta兩個class
import datetime
print(type(datetime.datetime.now()))
print(datetime.datetime.now())
# <class 'datetime.datetime'> 在datetime module裡面的datetime class
# 2023-05-29 20:51:18.719411
--------------------------
x = datetime.datetime.now()
print(x) # 2023-05-29 21:00:50.563834
print(x.year) # 2023
print(x.month) # 5
print(x.day) # 29
print(x.hour) # 21
print(x.minute) # 0
print(x.second) # 50
print(x.microsecond) # 563834
自製datetime object, 需叫出datetime class 的 constructor :
datetime.datetime(year, month, day, hour=0, minute=0, second=0, microsecond=0, tzinfo=None, *, fold=0)
year, month, day 是必須的argument, 其他可自由選擇
x = datetime.datetime.now()
y = datetime.datetime(2023, 6, 7)
print(y - x)
# 8 days, 2:43:13.532905
x = datetime.datetime.now()
print(x.strftime("%A")) # Monday
print(x.strftime("%Y")) # 2023
print(x.strftime("%m")) # 05
print(x.strftime("%H:%M:%S")) # 21:21:48
import datetime
now = datetime.datetime.now()
oneday = datetime.datetime(2021, 1, 1)
diff = now - oneday
print(type(diff))
# <class 'datetime.timedelta'>
print(diff)
# 878 days, 21:47:27.079622
-----------------
# timedelta read-only attribute, method
print(diff.days)
# 878
print(diff.total_seconds())
# 75937726.151814