如何在Python中比较日期?

发布于 2024-12-11 16:48:07 字数 275 浏览 0 评论 0原文

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

我已经测试过类似的内容:

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

我收到错误:

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

有关如何实现此目标的任何线索?

I need to see if a date has more than X days. How can I do this in Python?

I have tested something like:

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

I got the error:

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

Any clue on how to achieve this?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

这个俗人 2024-12-18 16:48:07

您无法比较 datetimetimedeltatimedelta 表示持续时间,datetime 表示特定时间点。两个 datetime差异是一个时间增量。日期时间彼此之间具有可比性,timedelta 也是如此。

您有 2 个选择:

  • 从您给定的日期时间中减去另一个 datetime,然后将所得的 timedelta 与您也给定的 timedelta 进行比较。
  • 通过将 timedelta 与另一个 datetime 相加或相减,将其转换为 datetime,然后将生成的 datetime 与您指定的日期时间

You can't compare a datetime to a timedelta. A timedelta represents a duration, a datetime represents a specific point in time. The difference of two datetimes is a timedelta. Datetimes are comparable with each other, as are timedeltas.

You have 2 options:

  • Subtract another datetime from the one you've given, and compare the resulting timedelta with the timedelta you've also given.
  • Convert the timedelta to a datetime by adding or subtracting it to another datetime, and then compare the resulting datetime with the datetime you've given.
绝不服输 2024-12-18 16:48:07

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

如果您问的是“我的日期时间是否在该月的第 n 天之后”,那么您可以执行以下操作:

my_important_date = datetime.now()

if my_important_date.day > n:
    pass #do you important things

Comparing apples and oranges is always very hard! You are trying to compare "January 12, 2010" (a fixed point in time) with "3 hours" (a duration). There is no sense in this.

If what you are asking is "does my datetime fall after the nth day of the month" then you can do :

my_important_date = datetime.now()

if my_important_date.day > n:
    pass #do you important things
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文