2012-12-01 39 views
0

我使用它返回一個奇怪的日期格式(字符串)外部API:奇怪的時間戳和timedelta格式 - 如何轉換它們?

2012-09-26T15:44:10.376000 #timestamp 
0:00:01.714000 #delta (some time duration) 

我想將它們轉換爲這種格式:

19 Sep 2012 17:02 
0:17:34 

有沒有簡單的方法來做到這一點? 我可以將它們轉換成我的viewtemplate

編輯---------------------------------- -------------------------

我找到了時間戳的解決方案:

date_str = '2012-09-26T15:44:10.376000' 
date = datetime.strptime(date_str.split('.')[0],'%Y-%m-%dT%H:%M:%S') 
str = date.strftime('%m %b %Y %H:%M') 
+1

這根本不是一種奇怪的格式......它是ISO-8601。你已經嘗試過什麼字符串轉換? –

+0

什麼都沒有 - 我剛剛開始python和django - 仍在尋找解決方案 – user606521

+0

那麼你做了什麼研究?我只是輸入「在Python中格式化日期和時間」,並得到了一堆有趣的結果。 –

回答

3

安裝dateutil,然後:

>>> import dateutil.parser 
>>> dt = dateutil.parser.parse('2012-09-26T15:44:10.376000') 
>>> dt.strftime('%d %b %Y %H:%M') 
'26 Sep 2012 15:44' 

對於django,您可以將dt對象傳遞給您模板並使用date filter

{{ dt|date:"d b Y H:M" }} 
+0

我還發現django日期解析器:'從django.utils.dateparse導入parse_datetime'。在日期過濾器中,您必須跳過'%'符號。謝謝 – user606521

相關問題