如何使用toLocaleDateString/toLocaleTimeString生成QQQ ''yy格式季度日期
如何将日期转换为"QQQ ''yy"格式(如Q1 '24)
可以通过Intl.DateTimeFormat(toLocaleDateString底层依赖的API)配置选项组合出目标格式,具体实现有两种方式:
方式一:两次调用toLocaleDateString分别获取季度和年份
直接分别格式化季度和两位年份,再拼接成目标格式:
const formatDateToQuarterYear = (date) => { const quarter = date.toLocaleDateString('en-US', { quarter: 'short' }); const year = date.toLocaleDateString('en-US', { year: '2-digit' }); return `${quarter} '${year}`; }; // 测试示例 const testDate = new Date('2024-02-15'); console.log(formatDateToQuarterYear(testDate)); // 输出 "Q1 '24"
方式二:用formatToParts一次性提取部分再拼接
通过formatToParts方法获取格式化后的各部分,提取季度和年份后拼接,避免多次调用:
const formatDateToQuarterYear = (date) => { const parts = new Intl.DateTimeFormat('en-US', { quarter: 'short', year: '2-digit' }).formatToParts(date); const quarter = parts.find(part => part.type === 'quarter').value; const year = parts.find(part => part.type === 'year').value; return `${quarter} '${year}`; };
相关文档内容翻译(Intl.DateTimeFormat配置选项)
以下是你查阅的文档中,与季度、年份格式化相关的配置选项说明:
quarter
可选值:"numeric"|"2-digit"|"narrow"|"short"|"long"
用于定义季度的显示格式:"numeric":显示数字形式的季度(例如1)"2-digit":显示两位数字的季度(例如01)"narrow":显示最精简的季度标识(部分语言环境下与short效果一致)"short":显示缩写形式的季度(例如Q1)"long":显示完整的季度名称(例如1st quarter)
year
可选值:"numeric"|"2-digit"
用于定义年份的显示格式:"numeric":显示完整年份(例如2024)"2-digit":显示年份的后两位(例如24)
内容的提问来源于stack exchange,提问作者Winter_Woods
相关产品推荐
相关产品推荐

