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

JavaScript中如何将"20-05-2022"格式的日期转换为字符串?

解决"DD-MM-YYYY"格式日期转换为有效字符串的问题

直接使用new Date("20-05-2022")会返回Invalid Date,原因是JavaScript的Date构造函数对非标准日期格式的解析逻辑不一致,这种日-月-年的格式无法被正确识别。

下面是两种可行的解决方法:

方法一:拆分重组日期,构造有效Date对象

先把字符串按-拆分,提取日、月、年,再传入Date构造函数(注意:Date的月份参数是0~11,所以要把提取的月份减1):

let date = "20-05-2022";
const [day, month, year] = date.split("-");
// 月份减1,确保日期正确
const validDate = new Date(year, month - 1, day);
console.log(validDate.toString());
// 输出示例:Fri May 20 2022 00:00:00 GMT+0800 (中国标准时间)

方法二:自定义格式输出字符串

如果需要特定格式的日期字符串,可以在构造有效Date对象后,自行拼接或使用国际化API格式化:

let date = "20-05-2022";
const [day, month, year] = date.split("-");
const validDate = new Date(year, month - 1, day);

// 自定义拼接格式
const customFormat = `${year}-${month}-${day}`;
console.log(customFormat); // 2022-05-20

// 使用Intl.DateTimeFormat格式化(支持多语言)
const intlFormat = new Intl.DateTimeFormat('zh-CN', {
  year: 'numeric',
  month: '2-digit',
  day: '2-digit',
  hour12: false
}).format(validDate);
console.log(intlFormat); // 2022/05/20

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.14 05:40:33