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

2024-05-19 15:04:41 发布

您现在位置:Python中文网/ 问答频道 /正文

我有个约会。如何在Python中将其转换为yyyyMMdd

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


Tags: 中将约会yyyymmdd
2条回答

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

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

格式-

%d - 2 digit date

%b - 3-letter month abbreviation

%Y - 4 digit year

%m - 2 digit month

有关不同支持格式的详细信息,请参见here

您可以使用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

但是如果你想转换整个月,不仅仅是Nov11

您可以像这样使用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))  

输出是一样的。

相关问题 更多 >