【问题标题】:How would I compute exactly 30 days into the past with Python (down to the minute)?我如何使用 Python(精确到分钟)计算过去 30 天的时间?
【发布时间】:2010-10-16 18:38:54
【问题描述】:

在 Python 中,我试图检索过去正好 30 天(30*24 小时)的日期/时间。目前,我只是在做:

>>> import datetime
>>> start_date = datetime.date.today() + datetime.timedelta(-30)

返回一个日期时间对象,但没有时间数据:

>>> start_date.year
2009
>>> start_date.hour
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
AttributeError: 'datetime.date' object has no attribute 'hour'

【问题讨论】:

  • 不太清楚为什么有人-1'd这个。

标签: python datetime date time


【解决方案1】:

您想使用datetime 对象而不仅仅是date 对象:

start_date = datetime.datetime.now() - datetime.timedelta(30)

date 只存储一个日期,time 只存储一个时间。 datetime 是带时间的日期。

【讨论】:

  • 工作方式相同,但我喜欢这样看datetime.datetime.now() - datetime.timedelta(days=30)
  • 因为显式优于隐式,我更喜欢这个。
  • 也适用于我:datetime.datetime.today() - datetime.timedelta(days=30)
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2020-06-09
  • 1970-01-01
  • 1970-01-01
  • 2019-09-28
  • 2017-11-12
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多