我如何使用Python(最新)精确计算过去30天?

Nic*_*ant 40 python time datetime date

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

>>> import datetime
>>> start_date = datetime.date.today() + datetime.timedelta(-30)
Run Code Online (Sandbox Code Playgroud)

它返回一个datetime对象,但没有时间数据:

>>> 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'
Run Code Online (Sandbox Code Playgroud)

sth*_*sth 83

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

start_date = datetime.datetime.now() + datetime.timedelta(-30)
Run Code Online (Sandbox Code Playgroud)

date只存储一个日期和time一个时间.datetime是一个有时间的约会.

  • 同样的方式,但我喜欢这样看`datetime.datetime.now() - datetime.timedelta(days = 30)` (7认同)
  • 也适用于我:`datetime.datetime.today() - datetime.timedelta(days=30)` (3认同)
  • 因为**显式优于隐式**,我确实更喜欢这个。 (2认同)