如何将 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 将忽略超过毫秒的小数部分)。
如何转换:
'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 将忽略超过毫秒的小数部分)。