2012-09-18 3 views
81

내가 성공적으로 사용 26-09-201226 Sep 2012 형식의 무언가를 변환 한 얻을 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

그래서 편리하지만, 그렇게 쉽게 간과. –

+0

빠른 답장을 보내 주셔서 감사합니다! :) 추가 날짜 변수를 사용하지 않고이를 수행 할 수있는 방법이 있는지 궁금하십니까? (저는 파이썬 초보자입니다.) – user1678031

+1

예,'date = datetime.strptime ('26 9 월 2012 ','% d % b % Y '). replace (시간 = 11, 분 = 59)'. – nneonneo

8

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 
관련 문제