python datetime模塊
導包
from datetime import datetime
now = datetime.now()
print(now)
print(type(now))
print(now.year)
print(now.month)
print(now.day)
print(now.hour)
print(now.minute)
print(now.second)
print(now.microsecond)
from datetime import timedelta
兩個datetime對象相減,得到的是一個timedelta對象
# 計算時間間隔
delta1 = datetime(2022, 6, 30, 20) - datetime(2022, 2, 2, 1)
print(delta1)
print(type(delta1))
如圖,表示148天零19個小時。
print(datetime(2022, 6, 10) + delta1)
timedelta傳入不同數量的參數,表示的含義匯總如下。
第一個表示天數,第二個表示秒數,第三個表示微秒。第四個表示毫秒,第五個表示分鐘,第六個表示小時。
print(timedelta(10))
print(timedelta(10,11))
print(timedelta(10, 11, 12))
print(timedelta(10, 11, 12, 13))
print(timedelta(10, 11, 12, 13, 14))
print(timedelta(10, 11, 12, 13, 14, 15))
stamp = datetime(2022, 6, 22)
# 強制轉換字符串
print(str(stamp))
# 格式化 轉換 字符串
print(stamp.strftime("%Y/%m/%d %H:%M:%S"))
print(stamp.strftime("%Y-%m-%d %H:%M:%S"))
print(stamp.strftime("%Y/%m/%d"))
print(stamp.strftime("%Y-%m-%d"))
dates = ['1/6/2022', '6/1/2022']
datelist = [datetime.strptime(i, "%m/%d/%Y") for i in dates]
print(datelist)
將字符串形式的日期解析成datetime對象。
字符串寫法可以有很多,如下示例。
from dateutil.parser import parse
print(parse('1/6/2022'))
print(parse('2022-6-2'))
print(parse('2022.6.3'))
print(parse('2022 6 4'))
print(parse('2022, 6, 5'))