web-dev-qa-db-ja.com

Python datetime-strptimeを使用して日、月、年を取得した後、固定の時間と分を設定する

私は26 Sep 2012形式の何かを26-09-2012に正常に変換しました:

datetime.strptime(request.POST['sample_date'],'%d %b %Y')

ただし、上記のような時間と分を11:59に設定する方法がわかりません。これを行う方法を知っている人はいますか?

これは、現在の日付だけでなく、将来の日付でもランダムな日付でもかまいません。

127
user1678031

datetime.replace を使用します。

from datetime import datetime
date = datetime.strptime('26 Sep 2012', '%d %b %Y')
newdate = date.replace(hour=11, minute=59)
279
nneonneo

datetime.replace() は最適なオプションを提供します。また、日、年、月を置き換える機能も提供します。

datetimeオブジェクトがあり、日付が次のように表されているとします:"2017-05-04"

>>> from datetime import datetime
>>> date = datetime.strptime('2017-05-04',"%Y-%m-%d")
>>> print(date)
2017-05-04 00:00:00
>>> date = date.replace(minute=59, hour=23, second=59, year=2018, month=6, day=1)
>>> print(date)
2018-06-01 23:59:59
33
Abhay Chauhan