首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >如何在Python中比较时间?

如何在Python中比较时间?
EN

Stack Overflow用户
提问于 2009-12-02 16:22:33
回答 7查看 258.4K关注 0票数 120

我看到可以进行日期比较,也有datetime.timedelta(),但我正在努力找出如何检查当前时间(datetime.datetime.now())是否早于、晚于或等于指定的时间(例如上午8点),而不管日期是什么。

EN

回答 7

Stack Overflow用户

发布于 2009-12-02 16:36:19

您可以使用datetime对象的time()方法来获取一天中的时间,您可以使用该时间进行比较,而无需考虑日期:

代码语言:javascript
复制
>>> this_morning = datetime.datetime(2009, 12, 2, 9, 30)
>>> last_night = datetime.datetime(2009, 12, 1, 20, 0)
>>> this_morning.time() < last_night.time()
True
票数 73
EN

Stack Overflow用户

发布于 2009-12-02 16:26:08

您可以直接比较datetime.datetime对象

例如:

代码语言:javascript
复制
>>> a
datetime.datetime(2009, 12, 2, 10, 24, 34, 198130)
>>> b
datetime.datetime(2009, 12, 2, 10, 24, 36, 910128)
>>> a < b
True
>>> a > b
False
>>> a == a
True
>>> b == b
True
>>> 
票数 12
EN

Stack Overflow用户

发布于 2012-03-15 17:14:44

灵感来自罗杰·佩特:

代码语言:javascript
复制
import datetime
def todayAt (hr, min=0, sec=0, micros=0):
   now = datetime.datetime.now()
   return now.replace(hour=hr, minute=min, second=sec, microsecond=micros)    

# Usage demo1:
print todayAt (17), todayAt (17, 15)

# Usage demo2:    
timeNow = datetime.datetime.now()
if timeNow < todayAt (13):
   print "Too Early"
票数 6
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/1831410

复制
相关文章

相似问题

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