You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何将任意日期格式统一转换为ddMMMMYYYY格式(如10Apr2018)

统一转换多种日期格式为ddMMMYYYY(示例:10Apr2018)

嘿,我太懂面对一堆乱七八糟日期格式的痛苦了!要把这些五花八门的日期统一成你要的ddMMMYYYY格式(比如10Apr2018),用Python的python-dateutil库绝对是最省心的方案——它能自动识别绝大多数常见的日期格式,不用你手动写一堆正则或者格式匹配规则。

步骤1:安装依赖库

如果还没装python-dateutil,先通过pip快速安装:

pip install python-dateutil

步骤2:编写转换代码

下面是一个简单的函数,能把你给出的所有日期格式都转换成目标样式:

from dateutil import parser

def convert_to_target_date(date_str):
    # 自动解析任意合法的日期字符串,不管格式有多杂
    parsed_date = parser.parse(date_str)
    # 格式化为ddMMMYYYY格式(%b会输出月份缩写,比如Apr、Mar,完全匹配你的示例)
    return parsed_date.strftime("%d%b%Y")

# 用你给出的日期做测试
test_dates = [
    "17 Jun 14 12:26:20 Tue",
    "6 Mar 2018 05:16:51",
    "8 Dec 2014 13:41:09 +0000",
    "16 Sep 2014 16:08:47 -0400",
    "29 Oct 2014 20:12:33 +0530",
    "Tue, 8 Jul 2014 11:48:53 -0700",
    "Tue, 03 Jun 2014 08:35:05 GMT",
    "Tue, 03 Jun 2014 10:59:00 GMT",
    "Wed, 04 Jun 2014 12:26:52 GMT",
    "Wed, 7 Mar 2018 17:44:11 +0530",
    "Wed, 07 Mar 2018 11:29:00 +0..."
]

for date in test_dates:
    try:
        result = convert_to_target_date(date)
        print(f"原始日期: {date:45} -> 转换后: {result}")
    except Exception as e:
        print(f"无法解析日期: {date} | 错误信息: {str(e)}")

测试结果(部分)

运行上面的代码后,你会得到类似这样的输出:

原始日期: 17 Jun 14 12:26:20 Tue -> 转换后: 17Jun2014
原始日期: 6 Mar 2018 05:16:51 -> 转换后: 06Mar2018
原始日期: 8 Dec 2014 13:41:09 +0000 -> 转换后: 08Dec2014
原始日期: Tue, 03 Jun 2014 08:35:05 GMT -> 转换后: 03Jun2014

为什么选这个方案?

dateutil.parser简直是处理混乱日期的神器:带星期前缀的、带时区偏移的、带GMT标记的、年份是两位的(会自动推断合理的年份范围),它都能完美搞定,完全不用你为每种格式写单独的匹配逻辑,省超多时间!

如果遇到极端特殊的格式解析失败,再考虑用datetime.strptime配合自定义格式字符串来针对性处理,但你给出的这些日期都能完美解析。

内容的提问来源于stack exchange,提问作者user9364391

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.25 03:27:12