用Python检查时间

时间:2014-02-16 21:57:58

标签: python datetime timedelta

我正在使用Python中的日历应用程序来检查不同参数中的多个事件。我遇到的一个问题是,在我的代码的几个方面,我使用下面显示的示例来验证特定事件是“今天”。

if (eventDateTime - TheCurrentDateTime).days = 0: print "Your event is today."

问题是,如果说,星期一,我发生的事件发生在星期二上午8点。 - 一旦转向上午8:01。星期一早上,.days的timedelta减法检查变为0,因为它们距离事件前只有几个小时,而不是几天。因此,由于我的日历正在检查每一分钟的新更新等等,在此时间过去之后,在星期一的剩余时间内,它继续报告我的星期二活动是“今天”。

我想创建一个多条件if语句,以某种方式阻止它说“你的事件是今天”。除非它已经过了午夜,实际上是在第二天(活动的那天)。

谢谢

2 个答案:

答案 0 :(得分:4)

只是比较日期,没有时间:

TheCurrentDate = TheCurrentDateTime.date()
if eventDateTime.date() == TheCurrentDate:
    print "Your event is today."

答案 1 :(得分:1)

您可以使用(eventDateTime - TheCurrentDateTime).total_seconds() < 86400检查“少于24小时”。

然而,对于“今天”,我希望它能比较实际的一天,而不是小时数。所以比较eventDateTime.date() == TheCurrentDateTime.date()