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

如何在JavaScript中将日期转换为类似‘27 march 2023’格式的字符串?

在JavaScript中将日期转换为指定格式字符串的方法

要把2023-07-05这类YYYY-MM-DD格式的日期转换成DD month YYYY(月份为小写全称)的格式,这里提供两种实用方法:

方法一:使用Intl.DateTimeFormat(推荐,本地化友好)

现代浏览器和Node.js都支持Intl.DateTimeFormat,它能轻松处理日期的本地化格式化,我们可以通过配置选项并重组结果来得到目标格式:

const inputDate = '2023-07-05';
const date = new Date(inputDate);

// 配置格式化规则:2位数日期、全称月份、4位数年份,语言设为英文
const formatter = new Intl.DateTimeFormat('en-US', {
  day: '2-digit',
  month: 'long',
  year: 'numeric'
});

// 拆分格式化后的各部分,重组为目标格式
const formattedParts = formatter.formatToParts(date);
const day = formattedParts.find(part => part.type === 'day').value;
const month = formattedParts.find(part => part.type === 'month').value.toLowerCase();
const year = formattedParts.find(part => part.type === 'year').value;

const result = `${day} ${month} ${year}`;
console.log(result); // 输出 "05 july 2023"

方法二:手动映射月份(轻量无依赖)

如果不需要本地化支持,直接通过数组映射月份名称的方式更直接:

const inputDate = '2023-07-05';
const date = new Date(inputDate);

// 定义小写的英文月份全称数组,索引对应Date.getMonth()的返回值(0-11)
const months = [
  'january', 'february', 'march', 'april', 'may', 'june',
  'july', 'august', 'september', 'october', 'november', 'december'
];

// 确保日期为2位数,拼接结果
const day = String(date.getDate()).padStart(2, '0');
const month = months[date.getMonth()];
const year = date.getFullYear();

const result = `${day} ${month} ${year}`;
console.log(result); // 输出 "05 july 2023"

注意事项

  • 若遇到旧浏览器不兼容ISO格式日期的情况,可以手动拆分字符串构造Date对象:
const inputDate = '2023-07-05';
const [year, month, day] = inputDate.split('-');
// Date的月份参数是0-based,所以要减1
const date = new Date(year, month - 1, day);

内容的提问来源于stack exchange,提问作者Zidan gaming 00

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.23 01:42:01