1

我正在使用 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

4

1 回答 1

0

您必须首先将字符串解析为日期(使用datetime.datetime.strptime()类方法然后结合time()

format = '%m/%d/%Y' if month_first else '%d/%m/%Y'
datetime.combine(datetime.strptime(item[index_field], format), time())

wheremonth_first是一个布尔值,它告诉你选择什么格式。

正式地,datetime.combine()datetime.date对象作为第一个参数,但实际上它也接受datetime.datetime实例。(否则,您必须添加一个.date()调用以从返回的实例中获取datetime.date对象)。datetime.datetime.strptime()

于 2013-05-12T10:49:57.153 回答