Python将dd month year格式日期转换为YYYY-MM-DD双数字格式问题
日期格式转换补前导零解决方法
你当前的问题是直接将数字转字符串时没有指定补零规则,两种常用实现方案如下:
方案1:使用datetime内置strftime方法(最推荐)
parser.parse()返回的是标准datetime对象,直接调用strftime方法指定格式即可自动补前导零:
from dateutil import parser date = '09-Aug-2021' new_date = parser.parse(date) # %Y对应4位年份,%m对应2位月份,%d对应2位日期 final_date = new_date.strftime("%Y-%m-%d")
运行后得到的final_date值为2021-08-09,完全符合格式要求。
方案2:手动拼接时指定格式化规则
如果需要单独处理年、月、日字段再拼接,可以用格式化字符串指定数字补零规则:
from dateutil import parser date = '09-Aug-2021' new_date = parser.parse(date) # :02d 表示数字按2位长度输出,不足位自动补前导零 final_date = f"{new_date.year}-{new_date.month:02d}-{new_date.day:02d}"
运行结果和方案1完全一致。
内容的提问来源于stack exchange,提问作者Krish Kk
相关产品推荐
相关产品推荐

