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

在JavaScript中将dd/MM/yyyy hh:mm tt格式转换为yyyy-mm-ddThh:mm格式

解决JavaScript解析dd/MM/yyyy hh:mm tt日期格式失败的问题

你遇到的Invalid Date是因为JavaScript的Date构造函数无法直接识别dd/MM/yyyy hh:mm tt这种格式——它默认更倾向于MM/dd/yyyy(美式日期)或者ISO标准格式,对于日在前的带AM/PM的日期解析会失败。下面提供两种可靠的转换方法:

方法一:手动解析日期(无环境依赖)

手动拆分输入字符串的各个部分,转换12小时制到24小时制,再拼接成目标格式:

function convertDateFormat(inputDateStr) {
  // 拆分日期、时间、AM/PM部分
  const [datePart, timePart, period] = inputDateStr.split(' ');
  // 拆分日、月、年
  const [day, month, year] = datePart.split('/');
  // 拆分时、分
  let [hours, minutes] = timePart.split(':');
  
  // 处理12小时制转24小时制
  if (period === 'PM' && hours !== '12') {
    hours = String(parseInt(hours, 10) + 12);
  }
  if (period === 'AM' && hours === '12') {
    hours = '00';
  }
  
  // 补零确保两位数字格式
  const formattedHours = hours.padStart(2, '0');
  const formattedMinutes = minutes.padStart(2, '0');
  
  // 拼接成目标格式
  return `${year}-${month}-${day}T${formattedHours}:${formattedMinutes}`;
}

// 测试示例
console.log(convertDateFormat('25/05/2023 2:30 PM')); // 输出 "2023-05-25T14:30"
console.log(convertDateFormat('25/05/2023 12:30 AM')); // 输出 "2023-05-25T00:30"
console.log(convertDateFormat('25/05/2023 12:30 PM')); // 输出 "2023-05-25T12:30"

方法二:转换为Date可识别的格式

先通过正则把dd/MM/yyyy替换为MM/dd/yyyy(美式日期格式),让Date构造函数能正确解析,再提取时间部分拼接成目标格式:

function convertDateFormat(inputDateStr) {
  // 将dd/MM/yyyy替换为MM/dd/yyyy,适配Date构造函数的解析规则
  const usFormattedDate = inputDateStr.replace(/(\d{2})\/(\d{2})\/(\d{4})/, '$2/$1/$3');
  const date = new Date(usFormattedDate);
  
  // 提取各时间部分并补零
  const year = date.getFullYear();
  const month = String(date.getMonth() + 1).padStart(2, '0');
  const day = String(date.getDate()).padStart(2, '0');
  const hours = String(date.getHours()).padStart(2, '0');
  const minutes = String(date.getMinutes()).padStart(2, '0');
  
  return `${year}-${month}-${day}T${hours}:${minutes}`;
}

// 测试示例
console.log(convertDateFormat('25/05/2023 2:30 PM')); // 输出 "2023-05-25T14:30"

注意:方法二依赖浏览器/环境对美式日期格式的支持,主流现代浏览器都能正常处理,但如果需要兼容老旧环境,方法一的手动解析更可靠。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.20 23:23:26