我一直在想,是否有更簡潔快捷的方法來解析可能來自多個位置/日誌文件的3種格式的時間戳。下面的代碼是我目前的代碼,但它的工作版本非常難看,而且速度非常慢。是否有更加pythonic和更快的方式來實現這一目標?解析時間字符串的更好方法
FORMATS = ["%Y-%m-%d %H:%M:%S" ,
"%Y%m%d_%H.%M.%S" ,
"%a %b %d %H:%M:%S %Y"]
def _hacktime(self, t):
# CAUTION:
# The nastiest time hack of all TIME
#
try:
t = time.mktime(time.strptime(t, self.FORMATS[0]))
except:
try:
t = time.mktime(time.strptime(t, self.FORMATS[1]))
except:
try:
t = time.mktime(time.strptime(' '.join([t,
time.strftime('%Y')]),
self.FORMATS[2]))
except Exception as e:
print('could not convert time %s: %s' % (t, e))
t = time.time()
return [t, time.ctime(t)]
爲什麼你要爲第三種格式的時間字符串附加'%Y'?簡單地從格式字符串中省略它會不會更容易? – 2012-02-10 10:50:32