问题描述
如何转换:
'2020-01-21 12:23:54'
到这个(solr格式):
'2020-01-21T12:23:54.625Z'
??
如果不可能,如何直接以Solr格式(如上所示)直接获取Python中文件的日期(例如修改日期)?
解决方法
您可以使用 datetime
按照 Solr 的要求格式化日期(即 ISO-8601 中的 UTC),显式添加“Z”,因为 isoformat()
函数不包括任何时区信息:
from datetime import datetime
d = datetime.utcnow().isoformat(timespec='milliseconds') + 'Z'
从给定的日期字符串开始,您可以使用 strptime
解析它,然后将其转换为 iso(假设日期已经在 utc 中):
d = datetime.strptime('2020-01-21 12:23:54','%Y-%m-%d %H:%M:%S').isoformat() + 'Z'
如果您不需要更高的精度,您应该设置 timespec='seconds'
(Solr 将忽略超过毫秒的分数)。