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

TypeScript中如何将字符串类型日期值转换为Date日期格式

TypeScript 斜杠分隔日期字符串转Date对象方案

你当前使用的2022/05/01属于yyyy/MM/dd斜杠分隔格式,是JS/TS原生Date构造器全环境兼容的可解析格式,无需引入第三方依赖即可完成转换。

基础快速转换

直接将字符串传入Date构造函数即可得到标准Date实例:

let startedStringDate: string;
startedStringDate = '2022/05/01';
// 直接完成转换
const dateResult: Date = new Date(startedStringDate);

注意事项

  • 不建议直接用new Date('2022-05-01')这种横杠分隔的ISO短格式做转换,该格式在部分旧运行环境中会被默认按UTC时区解析,和本地时区产生固定偏移,引发日期显示错误;斜杠分隔格式默认按本地时区解析,无兼容问题。
  • Date实例的getMonth()方法返回值范围是0-11,对应实际1-12月,取月份值做业务计算时需要手动+1。

带合法性校验的生产可用实现

如果无法100%保证传入的字符串一定是合法日期,建议增加解析有效性判断,避免生成无效的Invalid Date对象引发后续逻辑报错:

function parseSlashDate(dateStr: string): Date | null {
  const date = new Date(dateStr);
  // 无效日期调用getTime()会返回NaN,以此判断解析是否成功
  return isNaN(date.getTime()) ? null : date;
}

// 调用示例
startedStringDate = '2022/05/01';
const parsedDate = parseSlashDate(startedStringDate);
if (parsedDate) {
  // 此处编写后续日期处理逻辑
  console.log(parsedDate.getFullYear()); // 输出2022
  console.log(parsedDate.getMonth() + 1); // 输出5
  console.log(parsedDate.getDate()); // 输出1
}

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.30 13:00:53