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
相关产品推荐
相关产品推荐

