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

Angular date管道按MM/dd/YYYY格式化2022-01-01显示为2021问题

问题原因分析

该问题由错误的年份格式符使用导致,Angular date管道对年份格式符有明确的定义区分:

  • YYYY 代表ISO周历年份,计算逻辑为:如果包含某日期的ISO周有超过4天属于上一年,该周所有日期的周历年都会被判定为上一年。2022年1月1日刚好属于2021年的最后一个ISO周,因此使用YYYY格式化会返回2021,和公历年份不符。
  • yyyy 代表常规公历年,就是你预期的自然年份统计规则。
修复方案

将模板中日期格式的YYYY替换为yyyy即可,修改后代码如下:

<div> Until {{dealData.dealTypeValues.pharmacyRestrictionDate | date:'MM/dd/yyyy'}}</div>
补充说明

该问题仅出现在每年年初前几天、年末最后几天属于正常现象,其余日期的公历年和ISO周历年结果一致,因此你平时不会触发该异常。

内容的提问来源于stack exchange,提问作者Mr Durk

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.23 21:15:02