我想从通过
写入的日志文件中解析时间戳 datetime.datetime.now().strftime('%Y%m%d%H%M%S')
然后计算自此时间戳以来经过的秒数。
我知道我可以使用datetime.datetime.strptime
来获取datetime
对象,然后计算timedelta。问题是,{2.5}引入了strptime
函数,我使用的是Python2.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。
>>> 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