Python你可能會用到的時間比較
- 2020 年 1 月 8 日
- 筆記
最近用Python來做時間的比較,整理一下。
場景:資料庫保存的是datetime.datetime.now()的str類型的數據,需要把資料庫保存的時間跟現在的時間進行比較。
用到的庫:datetime.datetime.now() datetime.datetime.strptime() datetime.timedelta()
數據模擬:
>>> from datetime import datetime, timedelta >>> nowtime = datetime.now() # 現在的時間 >>> nowtime datetime.datetime(2017, 6, 20, 20, 11, 12, 926763) >>> >>> lasthour = datetime(2017, 6, 20, 19, 11, 12, 926763) # 1個小時前的時間 >>> lasthour datetime.datetime(2017, 6, 20, 19, 11, 12, 926763) >>> lasthour_str = str(lasthour) # 模擬從資料庫取出來的str類型時間數據 >>> lasthour_str '2017-06-20 19:11:12.926763'
str時間數據轉換:
# 將str類型時間數據轉換為datetime.datetime類型時間數據 >>> lasthour_new = datetime.strptime(lasthour_str, '%Y-%m-%d %H:%M:%S.%f') >>> lasthour_new datetime.datetime(2017, 6, 20, 19, 11, 12, 926763)
時間比較:
# lasthour_new和nowtime的時間差是否大於1個小時 >>> nowtime - lasthour_new > timedelta(hours=1) False # lasthour_new和nowtime的時間差是否等於1個小時 >>> nowtime - lasthour_new == timedelta(hours=1) True # lasthour_new和nowtime的時間差是否大於60分鐘 >>> nowtime - lasthour_new > timedelta(minutes=60) False # lasthour_new和nowtime的時間差是否等於60分鐘 >>> nowtime - lasthour_new == timedelta(minutes=60) True