首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >Python日期比较

Python日期比较
EN

Stack Overflow用户
提问于 2008-09-24 23:34:31
回答 7查看 66.1K关注 0票数 63

我想知道某个特定的python datetime对象是否早于X小时或X分钟。我正在尝试做一些类似的事情:

if (datetime.now() - self.timestamp) > 100
# Where 100 is either seconds or minutes

这会产生一个类型错误。

在python中进行日期时间比较的正确方法是什么?我已经看过WorkingWithTime了,它很接近,但并不完全是我想要的。我假设我只想让datetime对象以秒为单位表示,这样我就可以进行普通的int比较。

请张贴datetime最佳实践列表。

EN

回答 7

Stack Overflow用户

回答已采纳

发布于 2008-09-24 23:44:28

使用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)
票数 110
EN

Stack Overflow用户

发布于 2008-09-24 23:42:02

将差异与您创建的时间增量进行比较:

if datetime.datetime.now() - timestamp > datetime.timedelta(seconds = 5):
    print 'older'
票数 5
EN

Stack Overflow用户

发布于 2012-05-11 14:14:39

替代方案:

if (datetime.now() - self.timestamp).total_seconds() > 100:

假设self.timestamp是一个datetime实例

票数 5
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/130618

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档