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

如何将月年格式转为mm/dd/yyyy格式(dd固定为每月1号)

两种日期格式转mm/dd/yyyy(固定日为1号)的实现方案

直接上可复用的函数实现,同时兼容数字月份+年份、英文月份+年份两种输入格式:

function convertToMMDDYYYY(inputDate) {
  // 拆分输入为月份段和年份
  const [monthPart, year] = inputDate.trim().split(' ');
  let monthNum;

  // 处理数字月份
  if (!isNaN(monthPart)) {
    monthNum = parseInt(monthPart, 10);
  } else {
    // 处理英文月份:通过Date对象解析
    const tempDate = new Date(`${monthPart} 1, ${year}`);
    monthNum = tempDate.getMonth() + 1; // 转换为1-12的数字月份
  }

  // 补零确保月份为两位,拼接固定日为01的目标格式
  const formattedMonth = monthNum.toString().padStart(2, '0');
  return `${formattedMonth}/01/${year}`;
}

// 测试验证
console.log(convertToMMDDYYYY("6 2023"));       // 输出 "06/01/2023"
console.log(convertToMMDDYYYY("June 2023"));    // 输出 "06/01/2023"
console.log(convertToMMDDYYYY("12 2024"));      // 输出 "12/01/2024"
console.log(convertToMMDDYYYY("January 2022")); // 输出 "01/01/2022"

关键逻辑说明

  • 输入拆分:用trim()处理输入可能的首尾空格,再按空格拆分为月份部分和年份
  • 格式判断:通过isNaN()区分数字月份和英文月份
  • 英文月份解析:借助JS Date对象的自动解析能力,传入"英文月份 1, 年份"即可获取对应月份的数字值(注意getMonth()返回0-11,需加1转为1-12)
  • 格式补全:用padStart(2, '0')确保月份始终是两位数字,日固定为01,最后拼接成mm/dd/yyyy格式

额外说明

  • 英文月份不区分大小写(比如"june 2023"也能正常解析)
  • 假设输入的年份均为四位数字,若需兼容两位年份可额外添加补全逻辑

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.18 20:03:17