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

如何转换不同的日期python格式?,python,date,Python,Date,我有dd-MMM-yyyy日期。如何在Python中将其转换为yyyyMMdd 例如,我需要将2002年11月20日转换为20021120您可以使用datetime.datetime.strtime()以特定格式读取日期,然后使用.strftime()以所需格式将其写回。范例- >>> import datetime >>> datetime.datetime.strptime('20-Nov-2002','%d-%b-%Y').strftime('%Y%m%

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


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

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

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

%d-两位日期

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

%Y-4位年份

%m-2位月份


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

您可以使用
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
但是如果您想将整个月份转换为
11
,而不仅仅是
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))  
并且输出是相同的