2013-10-03 28 views
1

我正在研究圖像上傳實用程序,其中一部分功能是解析圖像的IPTC和EXIF數據。從字符串創建日期對象的更簡單的方法

IPTCInfo得到我需要的信息,但日期字段的格式爲20130925.

現在,我可以打破整成2013 09 25,並創建一個date對象。在我這樣做之前,是否已有功能來解決此問題?

+0

我爲什麼會在7986年他們會拖我出去cryonic退休來解決你的問題y10k的感覺? :) – abarnert

回答

8

date類沒有字符串解析功能,但datetime類的確是strptime

因此,首先做一個datetime,然後提取它的date部分:

>>> s = '20130925' 
>>> dt = datetime.datetime.strptime(s, '%Y%m%d') 
>>> d = dt.date() 
>>> d 
datetime.date(2013, 9, 25) 

如果你不明白的地方的'%Y%m%d'從何而來,見strftime() and strptime() Behavior

1

您可以使用datetime.strptime

>>> import datetime 
>>> datetime.datetime.strptime("20130925","%Y%m%d").date() 
datetime.date(2013, 9, 25) 
+0

除了他要求'日期'對象,而不是'日期時間'。 – abarnert

+0

糟糕,你是對的@abarnert。我編輯了我的答案以返回一個「日期」對象。 – space