문제

from datetime import datetime

datetime.strptime('%b%d  %I:%M%p', 'AUG21  3:26PM')

results with 
1900-08-21 15:26:00

how can I write in pythonic way so that when there's no year, take the current year as default (2013)?

I checked and strftime function doesn't have option to change the default.. maybe another time libraries can do?

thx

도움이 되었습니까?

해결책

Parse the date as you are already doing, and then

date= date.replace(2013)

This is one of simplest solution with the modules you are using.

Thinking better about it, you will probably face a problem next Feb 29.

input= 'Aug21  3:26PM'
output= datetime.datetime.strptime('2013 '+ input ,'%Y %b%d  %I:%M%p')

다른 팁

You can find out today's date to replace year for dynamic replacement.

datetime.strptime('%b%d  %I:%M%p', 'AUG21  3:26PM').replace(year=datetime.today().year)
라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top