我有一个文本文件,其中包含很多等格式的日期时间字符串。字符串类似于:
'2009-02-10 16:06:52.598800'
这些字符串是使用 str(datetime_object)
生成的。问题是,出于某种原因,str(datetime_object)
在 datetime 对象将微秒设置为零并且某些字符串如下所示时生成不同的格式:
'2009-02-10 16:06:52'
我如何解析这些字符串并将它们转换成 datetime object ?
获取对象中的所有数据非常重要,包括微秒。
注意:我必须使用 Python 2.5,用于微秒的格式指令 %f
在 2.5 中不存在。
最佳答案
或者:
from datetime import datetime
def str2datetime(s):
parts = s.split('.')
dt = datetime.strptime(parts[0], "%Y-%m-%d %H:%M:%S")
return dt.replace(microsecond=int(parts[1]))
使用 strptime
本身来解析日期/时间字符串(因此无需为正则表达式考虑极端情况)。
关于python - 在 Python 2.5 中用微秒解析日期时间字符串,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/531157/