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

如何使用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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.01 02:43:24