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

JavaScript中ISO时间字符串转指定长日期格式的最简方法

更简洁的ISO日期转换方案

当然有更省心的实现方式!你之前手动维护月份数组、拼接字符串的方法确实有点繁琐,其实ES6之后引入的Intl.DateTimeFormat API就能完美解决这个需求,一步到位生成你想要的格式。

直接可用的简洁实现

const isoDateStr = "2018-05-14T14:04:53.16";
const targetFormat = new Date(isoDateStr).toLocaleDateString('en-US', {
  year: 'numeric',
  month: 'long',
  day: '2-digit'
});

console.log(targetFormat); // 输出 "May 14, 2018"

为什么这个方法更好?

  • 无需手动维护月份数组:不用再担心月份名称拼写错误(比如你代码里的Fabruary应该是February),API会自动生成标准的英文月份全称。
  • 避免索引错误:不用再纠结getMonth()返回0-11的索引问题,API直接处理月份的映射逻辑。
  • 可复用性强:如果需要多次转换相同格式,可以提前创建格式化实例,避免重复配置:
    // 提前创建格式化器
    const dateFormatter = new Intl.DateTimeFormat('en-US', {
      year: 'numeric',
      month: 'long',
      day: '2-digit'
    });
    
    // 多次复用转换逻辑
    const formatted1 = dateFormatter.format(new Date("2018-05-14T14:04:53.16"));
    const formatted2 = dateFormatter.format(new Date("2023-10-01T00:00:00"));
    

兼容性说明

Intl.DateTimeFormat已经被绝大多数现代浏览器支持(Chrome、Firefox、Edge、Safari 10+),如果需要兼容IE11这类旧环境,可以引入对应的polyfill来补充支持。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.27 09:36:13