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