web-dev-qa-db-ja.com

pythonで現在の時間に時間を追加する方法

以下のように現在の時刻を取得できます。

from datetime import datetime
str(datetime.now())[11:19]

Result

'19:43:20'

今、上記の時間に9 hoursを追加しようとしていますが、Pythonで現在の時間に時間を追加するにはどうすればよいですか?

121
from datetime import datetime, timedelta

nine_hours_from_now = datetime.now() + timedelta(hours=9)
#datetime.datetime(2012, 12, 3, 23, 24, 31, 774118)

次に、文字列の書式設定を使用して、関連する部分を取得します。

>>> '{:%H:%M:%S}'.format(nine_hours_from_now)
'23:24:31'

日時のみをフォーマットする場合は、次を使用できます。

>>> format(nine_hours_from_now, '%H:%M:%S')
'23:24:31'

または、@ eumiroがコメントで指摘したように-strftime

302
Jon Clements

インポート datetime および timedelta

>>> from datetime import datetime, timedelta
>>> str(datetime.now() + timedelta(hours=9))[11:19]
'01:41:44'

しかし、より良い方法は次のとおりです。

>>> (datetime.now() + timedelta(hours=9)).strftime('%H:%M:%S')
'01:42:05'

strptimeおよびstrftimeの動作 を参照して、pythonが日付と時刻フィールドを処理する方法をよりよく理解できます。

0
mu 無