如何使用Intl.DateTimeFormat在JavaScript中定义特定日期格式
如何用Intl.DateTimeFormat实现YYYYMMDD格式输出
Intl.DateTimeFormat确实没有像Python的strftime那样直接支持自定义格式字符串的功能,但可以通过它的formatToParts方法拆分日期组件,再自行拼接成你需要的YYYYMMDD格式。
核心思路是:指定年为numeric,月和日为2-digit(确保单数字的月份/日期自动补零),然后提取出年、月、日的纯数值部分,再拼接在一起。
示例代码如下:
function formatToYYYYMMDD(date) { const dateParts = new Intl.DateTimeFormat('en-US', { year: 'numeric', month: '2-digit', day: '2-digit' }).formatToParts(date); // 提取各部分的值 const year = dateParts.find(part => part.type === 'year').value; const month = dateParts.find(part => part.type === 'month').value; const day = dateParts.find(part => part.type === 'day').value; return year + month + day; } // 调用示例 console.log(formatToYYYYMMDD(Date.now())); // 输出类似 "20221228"
这样处理后,不管系统的区域设置如何,都能保证输出的是四位年份+两位月份+两位日期的无分隔符格式,你可以把这个函数封装起来方便重复调用。
内容的提问来源于stack exchange,提问作者Peter Moore
相关产品推荐
相关产品推荐

