如何将 Python 中的日期时间转换为 Solr 格式?

How to transform datettime to Solr format in Python?

如何转换:

'2020-01-21 12:23:54'

到这个(solr格式):

'2020-01-21T12:23:54.625Z' ??

如果不可能,如何直接以 Solr 格式(如上所示)直接获取 Python 中文件的日期(例如修改日期)?

您可以使用 datetime 根据 Solr 的要求格式化日期(即 ISO-8601 in 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 将忽略超过毫秒的小数部分)。