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

React中如何将字符串日期转换为指定格式(DD-MM-YYYY转MM-DD-YYYY)

React日期格式转换实现方案(DD-MM-YYYY转MM-DD-YYYY)

以下是两种常用的实现方式,可根据项目实际情况选择:

方案1:原生JS实现(无第三方依赖)

直接拆分字符串交换日月位置即可,性能最高,无时区兼容问题:

// 转换函数
const convertDDMMYYYYToMMDDYYYY = (dateStr) => {
  // 拆分日期部分和时间部分
  const [dateSegment, timeSegment] = dateStr.split(' ');
  // 拆分日、月、年
  const [day, month, year] = dateSegment.split('-');
  // 按目标格式拼接
  return `${month}-${day}-${year} ${timeSegment}`;
}

// 测试用例
let date = "14-11-2021 10:11:20";
let required = convertDDMMYYYYToMMDDYYYY(date);
console.log(required); // 输出:11-14-2021 10:11:20

如果需要增加格式合法性校验,可添加正则判断避免异常输入报错:

const convertDDMMYYYYToMMDDYYYY = (dateStr) => {
  // 校验输入格式是否符合 DD-MM-YYYY HH:MM:SS
  const formatReg = /^\d{2}-\d{2}-\d{4} \d{2}:\d{2}:\d{2}$/;
  if (!formatReg.test(dateStr)) {
    // 格式不匹配时走兜底逻辑,可根据业务需求调整
    return dateStr;
  }
  const [dateSegment, timeSegment] = dateStr.split(' ');
  const [day, month, year] = dateSegment.split('-');
  return `${month}-${day}-${year} ${timeSegment}`;
}

方案2:使用dayjs实现(适合有复杂日期处理需求的项目)

如果React项目已经引入了dayjs做日期处理,可以用自定义解析插件实现,后续扩展其他日期操作更方便:

// 先安装依赖:npm install dayjs
import dayjs from 'dayjs';
import customParseFormat from 'dayjs/plugin/customParseFormat';
// 注册自定义解析插件
dayjs.extend(customParseFormat);

const convertDDMMYYYYToMMDDYYYY = (dateStr) => {
  // 按输入格式解析后,按目标格式输出
  return dayjs(dateStr, 'DD-MM-YYYY HH:mm:ss').format('MM-DD-YYYY HH:mm:ss');
}

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.26 11:54:08