我有dd-MMM-yyyy
个日期。如何在Python中将其转换为yyyyMMdd
?
例如我需要将2002年11月20日转换为20021120
答案 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))
输出相同。