我有一个apache日志,其时间戳如下:
[03/Feb/2013:02:52:05 +0000]
作为一个字符串。为了我的目的,不需要追踪+0000。我的最终目标是在几分钟内获得两个时间戳之间的时差。是否有一种更优雅,更简洁的方法,而不仅仅是以零碎,波纹添加的方式进行黑客攻击和比较元素?
理想情况下,我希望尽可能少地使用字符串,然后再使用它来初始化某种时间对象,它有一个' compare_to()'类型方法。
我对python来说比较新,所以我很抱歉,如果有一个明显的图书馆或方法,但我还没能找到一个。
答案 0 :(得分:1)
如果您不需要时区偏移量,您可以使用datetime模块来解析数据:
from datetime import datetime
line = '[03/Feb/2013:02:52:05 +0000]'
date = line[1:line.find(' ')] # take the string from the second character to the first blank
line_timestamp = datetime.strptime(date, "%d/%b/%Y:%H:%M:%S")
print repr(line_timestamp)
# datetime.datetime(2013, 2, 3, 2, 52, 5)
然后您可以减去这些值。