如何从4.5.6格式的日期中提取日、月、年,dateparser.parse失效怎么办
从「日.月.短年」格式日期中提取年月日的解决方法
这种自定义短格式日期没有匹配通用日期解析库的默认规则,因此dateparser.parse无法正常识别,可使用以下两种方案处理:
方案1:直接拆分字符串(无依赖,效率最高)
按.分割字符串后分别转换为整数,短年份手动补2000前缀即可:
date_str = "4.5.6" day, month, short_year = map(int, date_str.split(".")) year = 2000 + short_year # 最终提取结果 # 日:4,月:5,年:2006
如果你的业务场景中存在19xx年的情况,可自行添加判断规则调整年份前缀,例如短年份大于等于70时补1900,小于70时补2000。
方案2:使用datetime标准库解析(可直接生成日期对象)
如果后续需要做日期运算、格式转换等操作,可以用datetime.strptime手动指定解析规则:
from datetime import datetime date_str = "4.5.6" # %d 对应日,%m对应月,%y对应两位年份(默认1970-2069范围补全前缀) date_obj = datetime.strptime(date_str, "%d.%m.%y") year = date_obj.year month = date_obj.month day = date_obj.day
内容的提问来源于stack exchange,提问作者Vikas Kumar
相关产品推荐
相关产品推荐

