Python解析字符串作为没有特定元素的日期

问题描述:

我使用time.strptime解析字符串作为日期,但字符串没有与它关联的一年。我如何将当前年份添加到日期对象?Python解析字符串作为没有特定元素的日期

>>> import datetime 
>>> import time 
>>> dt = time.strptime('12/31/' + str(datetime.datetime.now().year), '%d/%M/%Y') 
>>> print dt 
time.struct_time(tm_year=2012, tm_mon=1, tm_mday=12, tm_hour=0, tm_min=31, tm_sec=0, tm_wday=3, tm_yday=12, tm_isdst=-1) 

这远不是唯一的方法。

import time, datetime 

def currentyear(atime): 
    atime = tuple([datetime.datetime.now().year] + list(atime)[1:]) 
    return time.localtime(time.mktime(atime)) 

newtime = time.strptime("19 Jan", "%d %b") 
newtime = currentyear(newtime) 
print newtime 

http://ideone.com/vI9S0