Python | 正则表达式将日期格式化

import re

def format_date(date):
    # 如果匹配没有结果,则返回默认的日期,这里设置不设置默认的日期,自己决定
    product_date = "1999-01-01"
    if date:
        dt = re.findall("(\d{4})年(\d{0,2})月?(\d{0,2})", date)
        # if判断是否为空
        if dt:
            # 如果匹配成功,年份就肯定是有的
            year, month, day = dt[0]
            # month 月份
            if month:
                if len(month) == 1:
                    month = "0" + month
            else:
                month = "01"
            # day 日
            if day:
                if len(day) == 1:
                    day = "0" + day
            else:
                day = "01"
            product_date = "{}-{}-{}".format(year, month, day)
    print(roduct_date)

示例:

format_date("2022年3月29日")
# 2022-03-29

format_date("2022年3月")
# 2022-03-01

format_date("2022年")
# 2022-01-01

这里只提供使用正则表达式将日期格式化的思想,具体应用还需要将代码自定义.

posted @   槑孒  阅读(218)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 全程不用写代码,我用AI程序员写了一个飞机大战
· DeepSeek 开源周回顾「GitHub 热点速览」
· 记一次.NET内存居高不下排查解决与启示
· 物流快递公司核心技术能力-地址解析分单基础技术分享
· .NET 10首个预览版发布:重大改进与新特性概览!
点击右上角即可分享
微信分享提示