2012-09-18 27 views
81

başarıyla kullanarak 26-09-2012 için 26 Sep 2012 formatının şey çevirdik almak için strptime kullandıktan sonra sabit saat ve dakika ayarı: AncakPython datetime - gün, ay, yıl

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

, bilmiyorum yukarıdaki gibi bir saatin saatini ve dakikasını saat 11: 59'a ayarlamayı bilir. Bunu yapmayı bilen var mı?

Not: Bu, yalnızca geçerli tarih değil, gelecekteki bir tarih veya rastgele bir tarih olabilir.

cevap

202

Kullanım datetime.replace:

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

Yani kullanışlı, ama çok kolay gözden. –

+0

Hızlı cevap için teşekkürler! :) Ekstra tarih değişkeni olmadan bunu yapmanın bir yolu varsa merak ediyorum? (Ben bir python acemi) – user1678031

+1

Evet, sadece yap 'date = datetime.strptime ('26 Sep 2012 ','% d% b% Y '). Değiştirin (saat = 11, dakika = 59)'. Fazla değişken kullanmıştım, bu yüzden çizgi çok uzun değildi :) – nneonneo

8

datetime.replace() iyi seçenekler sunacaktır. Ayrıca, gün, yıl ve ayın değiştirilmesi için tesis sağlar. Varsayalım

biz datetime nesne var ve tarih olarak temsil edilir: "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 
İlgili konular