在Python中解析含有纳秒的DateTime字符串

  • Post category:Python

要解析含有纳秒的DateTime字符串,可以使用Python中的datetime模块以及dateutil模块。下面是具体步骤:

1.导入需要的库

from datetime import datetime
from dateutil.parser import parse

2.使用datetime模块解析DateTime字符串

str_time = '2021-09-10 08:10:30.123456789'
dt = datetime.strptime(str_time, '%Y-%m-%d %H:%M:%S.%f')
  • strptime()函数可以将一个带有时间的字符串格式化成一个时间元组,其中 %Y-%m-%d 表示年月日,%H:%M:%S 表示时分秒,.f 表示微秒或纳秒。

3.使用dateutil模块解析DateTime字符串

str_time = '2021-09-10 08:10:30.123456789'
dt = parse(str_time)
  • parse()函数可以将一个带有时间的字符串解析成一个datetime对象,它可以自动识别绝大多数的日期时间格式,包括微秒或纳秒。

4.检验解析结果

print(dt)

输出结果为:

2021-09-10 08:10:30.123456789

可以发现,两种方式都能够解析出带有纳秒的DateTime字符串,并返回一个datetime对象。选择哪种方式取决于需求和场景。

完整代码示例:

from datetime import datetime
from dateutil.parser import parse

# 使用datetime模块解析DateTime字符串
str_time = '2021-09-10 08:10:30.123456789'
dt = datetime.strptime(str_time, '%Y-%m-%d %H:%M:%S.%f')
print(dt)

# 使用dateutil模块解析DateTime字符串
str_time = '2021-09-10 08:10:30.123456789'
dt = parse(str_time)
print(dt)

输出结果为:

2021-09-10 08:10:30.123456789
2021-09-10 08:10:30.123456