Python如何将MM-DD-YYYY格式日期转换为YYYY-MM-DD格式
Python 实现 MM-DD-YYYY 格式日期转 YYYY-MM-DD 格式的方案
以下提供两种常用实现方式,可根据场景选择:
方案1:字符串拆分重组(无需导入依赖)
适合格式完全固定、无非法输入风险的场景,实现逻辑最简单:
date = "12-01-2011" # 按分隔符拆分出月、日、年三个部分 mm, dd, yyyy = date.split('-') # 按目标格式拼接 formatted_date = f"{yyyy}-{mm}-{dd}" print(formatted_date) # 输出:2011-12-01
方案2:使用datetime模块(自带日期合法性校验)
如果需要校验输入的日期是否合法,避免生成无效日期,推荐用标准库的datetime模块处理:
from datetime import datetime date = "12-01-2011" # 按照输入格式解析为日期对象 date_obj = datetime.strptime(date, "%m-%d-%Y") # 按目标格式输出为字符串 formatted_date = date_obj.strftime("%Y-%m-%d") print(formatted_date) # 输出:2011-12-01
该方案下如果输入非法日期(如13-01-2011、02-30-2023)会主动抛出ValueError异常,适合输入来源不可控的场景。
批量处理示例
如果需要处理多个日期字符串,可以用列表推导式批量转换:
date_list = ["12-01-2011", "01-05-2020", "11-30-2019"] # 方案1批量实现 formatted_list = [f"{y}-{m}-{d}" for m, d, y in [item.split('-') for item in date_list]] # 方案2批量实现 formatted_list = [datetime.strptime(item, "%m-%d-%Y").strftime("%Y-%m-%d") for item in date_list]
内容的提问来源于stack exchange,提问作者James Phoenix
相关产品推荐
相关产品推荐

