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

如何用JS将日期数字月份替换为Jan、Apr这类缩写名称?

获取英文月份缩写并替换日期格式里的数字月份

这里有两种简单的方法可以实现你的需求,把日期输出里的数字月份换成Jan/Apr这类英文缩写:

方法1:自定义月份缩写数组

这种方法直观可控,适合需要固定缩写格式的场景:

首先定义包含所有月份缩写的数组(注意getMonth()返回0-11,正好对应数组索引):

const monthAbbrs = ['Jan', 'Feb', 'Mar', 'Apr', 'May', 'Jun', 'Jul', 'Aug', 'Sep', 'Oct', 'Nov', 'Dec'];
const today = new Date();

// 拼接成你需要的格式:日期 月份缩写 年份
const formattedDate = `${('0' + today.getDate()).slice(-2)} ${monthAbbrs[today.getMonth()]} ${today.getFullYear()}`;
$('#timeStampID').val(formattedDate);

运行后输入框就会输出类似23 Apr 2018的结果啦。

方法2:使用Intl.DateTimeFormat(推荐)

这是ES6+的原生API,更简洁且支持国际化,如果你只需要英文缩写,直接配置参数即可:

const today = new Date();
const datePart = ('0' + today.getDate()).slice(-2);
// 直接获取英文月份缩写
const monthAbbr = today.toLocaleDateString('en-US', { month: 'short' });
const yearPart = today.getFullYear();

const formattedDate = `${datePart} ${monthAbbr} ${yearPart}`;
$('#timeStampID').val(formattedDate);

这个方法不需要手动维护月份数组,浏览器会帮你处理正确的缩写,非常省心。

小提示

原来的代码里('0' + (today.getMonth() + 1)).slice(-2)是用来生成两位数字月份的,但现在我们直接通过getMonth()(0-11)匹配缩写,或者用原生API获取缩写,就不需要这个数字处理步骤啦。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.25 07:57:13