如果我有以下TIMESTRING:轉換成TIMESTRING日 - Python的
20150505
我將如何轉換爲在Python日期May 5, 2015
呢?到目前爲止,我已經試過:
from datetime import datetime
sd = datetime.strptime('20150504', '%Y%M%d')
但這輸出:
2015-01-04 00:05:00
如果我有以下TIMESTRING:轉換成TIMESTRING日 - Python的
20150505
我將如何轉換爲在Python日期May 5, 2015
呢?到目前爲止,我已經試過:
from datetime import datetime
sd = datetime.strptime('20150504', '%Y%M%d')
但這輸出:
2015-01-04 00:05:00
資本M
表示不分鐘每月。使用小寫m
,然後調用strftime
方法來重構格式:
>>> datetime.strptime('20150504', '%Y%m%d').strftime('%b %d, %Y')
'May 04, 2015'
您可以通過使用代替d
的-d
指令刪除月份的零填充:
%-d
日該月份是十進制數字。 (特定平臺)
對於較長的月份名稱,你可以使用指令%B
代替%b
獲得完整的月份名稱。
參考:
如果你知道這是一個日期,而不是日期時間,或者你不知道的格式。你可以使用dateutil。
from dateutil.parser import parse
print(parse('20150504'))
這是anwser,wihout領先的零天,如OP的例子:
print(sd.strftime('%b %-d, %Y'))
# Jan 4, 2015 # note your sd parsing is wrong. Thus Jan
我會建議修訂的anwser,從最新刪除前導零,因爲每個操作的示例格式。 – Marcin
@Marcin該指令不保證可以在所有平臺上工作 –
OP沒有指定platorm,python版本或其他任何東西。所以很難對此發表評論。但仍值得注意。 – Marcin