Man*_*ron 14 python datetime parsing
我有一个文本文件,在isoformat中有很多日期时间字符串.字符串类似于:
'2009-02-10 16:06:52.598800'
这些字符串是使用生成的str(datetime_object).问题是,由于某种原因,str(datetime_object)当datetime对象的微秒设置为零时生成不同的格式,并且某些字符串如下所示:
'2009-02-10 16:06:52'
如何解析这些字符串并将其转换为日期时间对象?
获取对象中的所有数据非常重要,包括微秒.
我必须使用Python 2.5,我发现%f2.5中不存在微秒的格式指令.
Eli*_*sky 21
或者:
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]))
Run Code Online (Sandbox Code Playgroud)
使用strptime自己来解析日期/时间字符串(因此不需要考虑正则表达式的极端情况).
Sov*_*iut 11
使用dateutil模块.它支持比内置Python更广泛的日期和时间格式.
您需要easy_install dateutil才能使以下代码正常工作:
from dateutil.parser import parser
p = parser()
datetime_with_microseconds = p.parse('2009-02-10 16:06:52.598800')
print datetime_with_microseconds.microsecond
Run Code Online (Sandbox Code Playgroud)
结果是:
598799
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
12459 次 |
| 最近记录: |