我一直在想,是否有更简洁快捷的方法来解析可能来自多个位置/日志文件的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