如何用Python将%Y-%m-%d格式日期转换为%d-%m-%Y格式?
日期格式化简化实现方案
完全不需要手动拆分字符串拼接,datetime自带的格式化方法可以直接满足需求,代码更简洁规范,鲁棒性也更高。
场景1:直接获取当前日期并输出为%d-%m-%Y格式
from datetime import datetime # 一步完成格式化,直接按你需要的顺序指定格式参数即可 new_date = datetime.now().strftime('%d-%m-%Y') print(new_date)
场景2:已有%Y-%m-%d格式的字符串需要转换
如果你是提前拿到了固定格式的日期字符串,也可以先解析为datetime对象再转目标格式,避免手动切片出错:
from datetime import datetime origin_date_str = '2021-09-25' # 先按原格式解析为datetime对象,再转成目标格式 new_date = datetime.strptime(origin_date_str, '%Y-%m-%d').strftime('%d-%m-%Y') print(new_date)
格式参数说明
%d:输出两位数值的日期,不足两位自动补0%m:输出两位数值的月份,不足两位自动补0%Y:输出四位数值的公历年
相比手动切片的方案,该写法不会因为日期字符串的格式变动(比如部分场景下日期/月份不补零、分隔符变化)出现取值错误,是Python处理日期格式转换的标准实现。
内容的提问来源于stack exchange,提问作者Diop Chopra
相关产品推荐
相关产品推荐

