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

JavaScript中多格式日期转换为指定格式(不使用第三方库)

如何将多种日期格式统一转换为DD/MM/YYYY格式(原生JS实现)

嘿,我刚好能帮你搞定这个需求!下面是纯原生JavaScript的实现方案,完全不用任何第三方库,能处理你提到的所有日期格式(25.10.2018、25.10.18、25-12-2018、25-12-18),最终统一输出25/10/2018这种标准格式。

基础实现代码

function convertToStandardDate(inputDate) {
  // 把所有点/横杠分隔符统一替换成斜杠,方便拆分
  const normalizedDate = inputDate.replace(/[.-]/g, '/');
  // 解构拆分出日、月、年三个部分
  const [day, month, year] = normalizedDate.split('/');
  
  // 处理两位年份:自动补全为四位(默认20xx,比如18→2018)
  const fullYear = year.length === 2 ? `20${year}` : year;
  
  // 拼接成目标格式
  return `${day}/${month}/${fullYear}`;
}

// 测试一下所有格式
console.log(convertToStandardDate('25.10.2018')); // 输出:25/10/2018
console.log(convertToStandardDate('25.10.18'));    // 输出:25/10/2018
console.log(convertToStandardDate('25-12-2018')); // 输出:25/12/2018
console.log(convertToStandardDate('25-12-18'));    // 输出:25/12/2018

关键逻辑解释

  • 统一分隔符:用正则/[.-]/g全局匹配所有的点和横杠,替换成斜杠,这样不管输入用哪种分隔符,都能统一拆分。
  • 年份补全:判断年份长度,如果是两位就自动加上20前缀。如果需要支持19xx的年份(比如99→1999),可以把年份补全的逻辑改成:
    const fullYear = year.length === 2 ? (parseInt(year) > 50 ? `19${year}` : `20${year}`) : year;
    
  • 格式拼接:直接用模板字符串把日、月、补全后的年拼接成目标格式。

可选优化:日期合法性校验

如果需要确保输入的是合法日期(比如避免32.13.2018这种无效值),可以加一个校验函数:

// 校验日期是否合法的辅助函数
function isValidDate(day, month, year) {
  // 注意:Date对象的月份是0-based(0=1月)
  const testDate = new Date(year, month - 1, day);
  // 验证日期、月份、年份是否和输入一致(避免无效日期自动转换的情况)
  return testDate.getDate() === parseInt(day) && 
         testDate.getMonth() + 1 === parseInt(month) && 
         testDate.getFullYear() === parseInt(year);
}

// 整合校验的转换函数
function convertToStandardDate(inputDate) {
  const normalizedDate = inputDate.replace(/[.-]/g, '/');
  const [day, month, year] = normalizedDate.split('/');
  
  const fullYear = year.length === 2 ? `20${year}` : year;
  
  // 校验不通过就抛出错误
  if (!isValidDate(day, month, fullYear)) {
    throw new Error('输入的日期不合法,请检查格式和数值');
  }
  
  return `${day}/${month}/${fullYear}`;
}

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.29 08:38:43