我想知道特定的python日期时间对象是否早于X小时或分钟.我正在尝试做类似的事情:
if (datetime.now() - self.timestamp) > 100 # Where 100 is either seconds or minutes
这会生成类型错误.
在python中进行日期时间比较的正确方法是什么?我已经看过WorkingWithTime,它很接近但不完全是我想要的.我假设我只想要以秒为单位表示的datetime对象,以便我可以进行正常的int比较.
请发布日期时间最佳做法列表.
使用datetime.timedelta
课程:
>>> from datetime import datetime, timedelta >>> then = datetime.now() - timedelta(hours = 2) >>> now = datetime.now() >>> (now - then) > timedelta(days = 1) False >>> (now - then) > timedelta(hours = 1) True
你的例子可以写成:
if (datetime.now() - self.timestamp) > timedelta(seconds = 100)
要么
if (datetime.now() - self.timestamp) > timedelta(minutes = 100)
将差异与您创建的timedelta进行比较:
if datetime.datetime.now() - timestamp > datetime.timedelta(seconds = 5): print 'older'
替代方案:
if (datetime.now() - self.timestamp).total_seconds() > 100:
假设self.timestamp是一个日期时间实例