Как бы я рассчитал ровно 30 дней в прошлом с Python (с точностью до минуты)? - PullRequest
34 голосов
/ 01 апреля 2009

В 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 Ответ

73 голосов
/ 01 апреля 2009

Вы хотите использовать datetime объект вместо просто date объекта:

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

date просто хранит дату, а time - только время. datetime - это дата со временем.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...