Python你可能會用到的時間比較

    最近用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