2013-05-12 83 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

相關問題