使用Python2.4解析时间戳

时间:2010-06-08 13:40:52

标签: python datetime parsing python-2.4

我想从通过

写入的日志文件中解析时间戳

datetime.datetime.now().strftime('%Y%m%d%H%M%S')

然后计算自此时间戳以来经过的秒数。

我知道我可以使用datetime.datetime.strptime来获取datetime对象,然后计算timedelta。问题是,{2.5}引入了strptime函数,我使用的是Python2.4.4(在我的上下文中无法升级)。

这么简单吗?

4 个答案:

答案 0 :(得分:5)

>>> ts = time.mktime(time.strptime('20040412234551', '%Y%m%d%H%M%S'))
>>> ts
1081809951.0
>>> datetime.datetime.fromtimestamp(ts)
datetime.datetime(2004, 4, 12, 23, 45, 51)

答案 1 :(得分:1)

now = datetime.datetime.now()
then = datetime.datetime(*time.strptime('20080227034510' ,'%Y%m%d%H%M%S')[0:6])
difference = now - then

答案 2 :(得分:0)

python 2.4中的time模块中已经存在strptime函数。你必须将它转换为日期时间对象,例如通过绕过unix时间戳,不知道是否有更好的方法。

答案 3 :(得分:0)

还有mx.DateTime现在可以免费使用了,它比Python的内置日期时间模块更容易处理和更灵活,几乎所有东西。适用于python 2.3+ No *和[0:6] shenanigans。

Egenix Download

>>> import mx.DateTime as dt
>>> then = dt.DateTimeFrom(dt.strptime('20040412234551', '%Y%m%d%H%M%S'))
>>> delta = dt.now() - then
>>> delta
<DateTimeDelta object for '2247:13:09:22.31' at 2ab37d666b58>
>>> delta.hours
53941.156198977762
>>> delta.days
2247.5481749574069