2013-05-12 87 views
1

我使用Solr和Python将我的文件编入索引,并且正在处理日期。我有一个字符串日期,如30/01/2013(ddmmyyy)和01/30/2013(mmddyyy)。如何将这些日期类型转换为Solr日期格式?如何使用Python将日期字符串转换为Solr日期格式?

我一直在使用这样的转换

dt = datetime.combine(item[index_field], time()) 
value_str = dt.isoformat() + 'Z' 

但得到错误信息combine() argument 1 must be datetime.date, not str

+0

你在混合两种格式吗?有没有什么办法可以确定一个或另一个被使用?那么'01/02/2013'的日期呢? – 2013-05-12 10:47:52

+0

是的,我知道什么时候可以使用'ddmmyyyy'和'mmddyyyy'。我的目标只是将日期字符串转换为Solr格式。 – 2013-05-12 10:49:44

回答

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()给我们只是日期部分

+0

谢谢!这个对我有用。 – 2013-05-12 11:02:49

相关问题