最近用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
本文出自 “香飘叶子” 博客,请务必保留此出处http://xpleaf.blog.51cto.com/9315560/1940304
原文地址:http://xpleaf.blog.51cto.com/9315560/1940304