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

将混合格式(YYYYMMDD、DD-MMM-YY)日期列转换为DD/MM/YYYY格式

统一转换两种日期格式为DD/MM/YYYY

以下是几种常用工具的实现方案,适配你的两种日期格式(YYYYMMDD 和 DD-MMM-YY):

Python(Pandas)

利用Pandas的日期处理功能自动识别格式,再统一输出目标格式:

import pandas as pd

# 构造示例数据
df = pd.DataFrame({
    'Birth_Day': ['20021019', '20021024', '24-Oct-02', '26-Oct-02']
})

# 转换并格式化日期
df['Birth_Day'] = pd.to_datetime(df['Birth_Day']).dt.strftime('%d/%m/%Y')

# 输出结果
print(df)

运行后会直接得到 DD/MM/YYYY 格式的日期列。

SQL(以MySQL为例)

通过判断字符串长度区分格式,分别解析后统一格式化:

SELECT 
    CASE
        WHEN LENGTH(Birth_Day) = 8 THEN DATE_FORMAT(STR_TO_DATE(Birth_Day, '%Y%m%d'), '%d/%m/%Y')
        WHEN LENGTH(Birth_Day) = 9 THEN DATE_FORMAT(STR_TO_DATE(Birth_Day, '%d-%b-%y'), '%d/%m/%Y')
    END AS Birth_Day
FROM your_table;
  • 若使用SQL Server,可替换为 CONVERT 和 TRY_CONVERT 函数,逻辑类似:
SELECT 
    CASE
        WHEN LEN(Birth_Day) = 8 THEN FORMAT(CONVERT(date, Birth_Day, 112), 'dd/MM/yyyy')
        ELSE FORMAT(CONVERT(date, Birth_Day, 6), 'dd/MM/yyyy')
    END AS Birth_Day
FROM your_table;

Excel

使用公式判断格式并转换,假设日期在A列,在B2单元格输入:

=IF(LEN(A2)=8,TEXT(DATE(LEFT(A2,4),MID(A2,5,2),RIGHT(A2,2)),"dd/mm/yyyy"),TEXT(DATEVALUE(A2),"dd/mm/yyyy"))

下拉填充即可完成整列转换。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.14 20:15:42