Python中如何处理含有毫秒的ISO8601日期时间
发布时间:2024-01-12 03:47:20
在Python中处理含有毫秒的ISO8601日期时间的方法有多种。下面是一些常用的方法,同时附上了相应的示例代码和解释:
方法1:使用datetime模块和dateutil库
from datetime import datetime
from dateutil.parser import parse
# 示例日期时间字符串
date_str = '2021-01-01T12:34:56.789Z'
# 使用dateutil库的parse()函数解析ISO8601日期时间字符串
dt = parse(date_str)
# 使用datetime模块的strftime()函数以所需的格式输出日期时间
formatted_dt = dt.strftime('%Y-%m-%d %H:%M:%S.%f')
print(formatted_dt)
解释:
- 首先,导入datetime模块和dateutil.parser库。
- 创建一个示例的日期时间字符串date_str。
- 使用parse()函数将日期时间字符串解析为一个datetime对象。该函数能够自动识别并解析ISO8601格式的日期时间字符串。
- 使用strftime()函数将datetime对象格式化为所需的字符串格式。%f是用来表示毫秒的占位符。
- 最后,打印输出格式化后的日期时间字符串formatted_dt。
方法2:使用strptime()和strftime()函数
from datetime import datetime
# 示例日期时间字符串
date_str = '2021-01-01T12:34:56.789Z'
# 使用strptime()函数解析ISO8601日期时间字符串
dt = datetime.strptime(date_str, '%Y-%m-%dT%H:%M:%S.%fZ')
# 使用strftime()函数以所需的格式输出日期时间
formatted_dt = dt.strftime('%Y-%m-%d %H:%M:%S.%f')
print(formatted_dt)
解释:
- 首先,导入datetime模块。
- 创建一个示例的日期时间字符串date_str。
- 使用strptime()函数将日期时间字符串解析为一个datetime对象。%f是用来表示毫秒的占位符,Z是表示时区的标识符。
- 使用strftime()函数将datetime对象格式化为所需的字符串格式。%f是用来表示毫秒的占位符。
- 最后,打印输出格式化后的日期时间字符串formatted_dt。
无论使用哪种方法,最终输出的格式化日期时间字符串都会是类似于2021-01-01 12:34:56.789000的形式,其中毫秒部分由6位数字表示。你可以根据自己的需要,调整输出的格式或使用额外的字符串处理方法来忽略或改变毫秒的格式。
