我使用Solr和Python索引我的文件,我正在处理日期。我有一个字符串日期,如30/01/2013
(ddmmyyy)和01/30/2013
(mmddyyy)。如何将这些类型的日期转换为Solr日期格式?
我一直在使用这样转换
dt = datetime.combine(item[index_field], time())
value_str = dt.isoformat() + 'Z'
但收到错误消息combine() argument 1 must be datetime.date, not str
。
答案 0 :(得分:1)
您必须先将字符串解析为日期(使用datetime.datetime.strptime()
class method,然后与time()
结合使用:
format = '%m/%d/%Y' if month_first else '%d/%m/%Y'
datetime.combine(datetime.strptime(item[index_field], format).date(), time())
其中month_first
是一个布尔值,告诉你要选择什么格式。
注意.date()
电话; .strptime()
将填写00:00:00
表示该信息未被解析的时间; .date()
只给出了日期部分。