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

如何将mmyy格式的日期转换为mm-dd-yyyy格式?

把mmyy格式日期转换为mm-dd-yyyy格式的解决方案

前提说明

输入为4位字符串(如0519),结构是2位月份+2位年份。由于原格式不含具体日期,默认使用当月第一天(01)补全转换。


Excel/Google Sheets 实现

假设输入内容在单元格A1,使用以下公式生成日期后,将单元格格式设置为mm-dd-yyyy即可:

=DATE(20&RIGHT(A1,2),LEFT(A1,2),1)
  • 逻辑解释:
    • RIGHT(A1,2)提取最后2位年份,拼接20补成全4位年份(若需兼容19xx年份,可将20&改为19&,或根据年份范围加判断);
    • LEFT(A1,2)提取前2位月份;
    • 最后一位1指定当月第一天作为日期值。

Python 实现

借助datetime模块处理,支持自定义年份范围判断:

from datetime import datetime

def mmyy_to_mmddyyyy(mmyy_str):
    month = mmyy_str[:2]
    year_two_digit = mmyy_str[2:]
    # 可根据需求调整年份前缀,比如90及以上年份用19xx,其余用20xx
    year = '19' + year_two_digit if int(year_two_digit) >= 90 else '20' + year_two_digit
    date_obj = datetime(int(year), int(month), 1)
    return date_obj.strftime('%m-%d-%Y')

# 示例调用
print(mmyy_to_mmddyyyy('0519'))  # 输出:05-01-2019

JavaScript 实现

利用Date对象和本地化格式化完成转换:

function mmyyToMmddYyyy(mmyyStr) {
    const month = mmyyStr.slice(0, 2);
    const year = '20' + mmyyStr.slice(2);
    // 注意:JavaScript的月份是0索引,需减1
    const date = new Date(year, month - 1, 1);
    // 格式化并替换分隔符为-
    return date.toLocaleDateString('en-US', {
        month: '2-digit',
        day: '2-digit',
        year: 'numeric'
    }).replace(/\//g, '-');
}

// 示例调用
console.log(mmyyToMmddYyyy('0519'));  // 输出:05-01-2019

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.16 23:45:40