2

我需要查看一个日期是否超过 X 天。我怎样才能在 Python 中做到这一点?

我已经测试过类似的东西:

if datetime.date(2010, 1, 12) > datetime.timedelta(3):

我得到了错误:

TypeError: can't compare datetime.date to datetime.timedelta

关于如何实现这一目标的任何线索?

4

2 回答 2

7

您无法将 adatetime与 a进行比较timedelta。Atimedelta代表一个持续时间,adatetime代表一个特定的时间点。两个s的是 a 。日期时间可以相互比较,s 也是如此。datetimetimedeltatimedelta

您有 2 个选项:

  • datetime从你给出的那个中减去另一个,并将结果timedeltatimedelta​​你也给出的结果进行比较。
  • timedelta通过将adatetime添加或减去到 another将其转换为 a datetime,然后将结果datetimedatetime您给出的比较。
于 2011-10-24T08:37:57.087 回答
1

比较苹果和橙子总是很困难!您正在尝试将“2010 年 1 月 12 日”(固定时间点)与“3 小时”(持续时间)进行比较。这没有任何意义。

如果您要问的是“我datetime在本月的第 n 天之后跌倒”,那么您可以这样做:

my_important_date = datetime.now()

if my_important_date.day > n:
    pass #do you important things
于 2011-10-24T08:52:21.197 回答