2012-09-18 3 views
81

私が正常に使用して26-09-201226 Sep 2012形式のものを変換しました:Pythonのdatetime型 - 一日を取得するためのstrptimeを使用した後に固定された時間と分を設定し、月、年

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

をしかし、私はしないでください上記のようなものの時と分を11:59に設定する方法を知っている。誰もこれを行う方法を知っていますか?

注:これは将来の日付または現在の日付だけでなくランダムなものでもよいことに注意してください。

答えて

202

使用datetime.replace

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

ので便利、しかし、そう簡単に見落とさ:

は、私たちのようにdatetimeオブジェクトと日付が表現されていたとします。 –

+0

クイック返信ありがとう! :)余分な日付変数なしでそれを行う方法がある場合は、ちょうど興味がありますか? (私はPython初心者です) – user1678031

+1

はい、 'date = datetime.strptime('26 9月2012 '、'%d%b%Y ')。replace(時= 11、分= 59)'です。 – nneonneo

8

datetime.replace()は、最良の選択肢を提供します。また、日、年、月を交換するための設備も提供しています。 "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 
関連する問題