如何将mm/dd/yyyy格式日期转换为yyyy-mm-dd格式?
将mm/dd/yyyy格式日期转换为yyyy-mm-dd的最优方案
方法一:使用标准库datetime模块(推荐)
这是最稳妥的方案,自带日期合法性校验,能避免生成无效日期:
from datetime import datetime original_date = "11/01/2022" # 按原格式解析日期 parsed_date = datetime.strptime(original_date, "%m/%d/%Y") # 格式化为目标yyyy-mm-dd格式 target_date = parsed_date.strftime("%Y-%m-%d") print(target_date) # 输出:2022-11-01
如果输入的日期不合法(比如"13/32/2022"),这个方法会直接抛出ValueError,帮你提前发现问题,比字符串切片的容错性更强。
方法二:字符串拆分拼接(仅适用于输入绝对合法的场景)
如果能确保输入的日期格式完全合规,也可以用字符串拆分后重新拼接:
original_date = "11/01/2022" month, day, year = original_date.split("/") target_date = f"{year}-{month}-{day}" print(target_date) # 输出:2022-11-01
这种方法代码更短,但没有日期校验能力,输入非法格式时会生成无效的日期字符串,所以只适合简单场景。
内容的提问来源于stack exchange,提问作者Feryohan
相关产品推荐
相关产品推荐

