我如何转换不同的日期python格式?

时间:2015-09-17 01:02:16

标签: python date

我有dd-MMM-yyyy个日期。如何在Python中将其转换为yyyyMMdd

例如我需要将2002年11月20日转换为20021120

2 个答案:

答案 0 :(得分:14)

您可以使用datetime.datetime.strptime()以特定格式阅读日期,然后使用.strftime()以所需格式将其写回。示例 -

>>> import datetime
>>> datetime.datetime.strptime('20-Nov-2002','%d-%b-%Y').strftime('%Y%m%d')
'20021120'

格式 -

  

%d - 2位数日期

     

%b - 3个字母的月份缩写

     

%Y - 4位数年

     

%m - 2个数字月

可以找到有关不同支持格式的更多详细信息here

答案 1 :(得分:-1)

您可以使用re模块执行此操作,如下所示:

import re                                                                   
text = '20-Nov-2002'.replace('Nov', '11')                                                        
print(re.sub(r'(\d+)-(\d+)-(\d+)', r'\3-\1-\2', text))  

输出:

2002-20-11

但是如果你想要转换整月,而不仅仅是Nov转换为11

您可以像这样使用datetime模块:

import re, datetime           
month = datetime.datetime.strptime('Nov', '%b').strftime('%m')   

text = '20-{month}-2002'.format(month=month)
print(re.sub(r'(\d+)-(\d+)-(\d+)', r'\3-\1-\2', text))  

输出相同。