2011-09-28 2 views
22

私は過去1時間の日付オブジェクトを取得したいと思います。Python:前回の日時を取得する

を: - {1時間06}

私が使用し は、私は、「2011年9月28日05」#として出力を取得したい sysの時間は「2011年9月28日6時11分30秒」であると言うことができます

lastHourDateTime = date.today() - timedelta(hours = 1) 
    print lastHourDateTime.strftime('%Y-%m-%d %H:%M:%S') 

しかし、私の出力には時間部分が全く表示されていません。どこが間違っていますか?

答えて

52

日は時間を持っていません - datetime型を使用します。

from datetime import datetime, timedelta 
last_hour_date_time = datetime.now() - timedelta(hours = 1) 
print last_hour_date_time.strftime('%Y-%m-%d %H:%M:%S') 
+0

感謝を。これは正解です。 –

+0

これは私がいつもやる方法ですが、2つの関数を呼び出して減算するのではなく、1つの関数の方法でこれを書くことができたらと思います。私はそれのための簡単な図書館を作るかもしれない。 – Gattster

+1

注意:予期しない結果が返されるようです。 'datetime.now()'は[間違いなく]優先されます(http://stackoverflow.com/questions/32298332/python3-4-datetime-today-and-datetime-now)。 –

15

これは私の作品:

import datetime 

lastHourDateTime = datetime.datetime.now() - datetime.timedelta(hours = 1) 
print lastHourDateTime.strftime('%Y-%m-%d %H') 

# prints "2011-09-28 12" which is the time one hour ago in Central Europe 
関連する問題