web-dev-qa-db-ja.com

Python(分単位まで))で過去30日を正確に計算するにはどうすればよいですか?

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'
44
Nick Sergeant

datetimeオブジェクトだけでなく、dateオブジェクトを使用したい場合:

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

dateは日付のみを格納し、timeは時刻のみを格納します。 datetimeは、日付と時刻です。

89
sth