角度日期管“YYYY”与“完整”不匹配

Cra*_*aig 3 angular

我正在尝试从 API 提供的简单字符串中打印月份和年份。到目前为止,它是正确的,但Jan 1st 2022它打印的是 2021。我正在新西兰运行它,目前在新西兰运行GMT+12,但将+13在每年 1 月 1 日运行

正如下面的示例所示,它在 2020 年和 2023 年是正确的,但在 2021 年和 2022 年则不然

输入

{{ '2020-01-01' | date : 'full' }} | {{ '2020-01-01' | date : 'MMM YYYY'}}
{{ '2021-01-01' | date : 'full' }} | {{ '2021-01-01' | date : 'MMM YYYY'}}
{{ '2022-01-01' | date : 'full' }} | {{ '2022-01-01' | date : 'MMM YYYY'}}
{{ '2023-01-01' | date : 'full' }} | {{ '2023-01-01' | date : 'MMM YYYY'}}
Run Code Online (Sandbox Code Playgroud)

输出

Wednesday, January 1, 2020 at 12:00:00 AM GMT+13:00 Jan 2020
Friday, January 1, 2021 at 12:00:00 AM GMT+13:00    Jan 2020
Saturday, January 1, 2022 at 12:00:00 AM GMT+13:00  Jan 2021
Sunday, January 1, 2023 at 12:00:00 AM GMT+13:00    Jan 2023
Run Code Online (Sandbox Code Playgroud)

Ali*_*adi 6

问题的快速解决方法是简单地更改YYYYyyyy,一切都会好起来的。请注意,根据官方文档,年份的字母格式y不是Y

YYYY是周编号年份格式(4 位或更多 + 零填充),例如0002, 0020, 0201, 2017, 20173.

<h3>{{ '2020-01-01' | date : 'full' }} | {{ '2020-01-01' | date : 'MMM yyyy'}}</h3>
<h3>{{ '2021-01-01' | date : 'full' }} | {{ '2021-01-01' | date : 'MMM yyyy'}}</h3>
<h3>{{ '2022-01-01' | date : 'full' }} | {{ '2022-01-01' | date : 'MMM yyyy'}}</h3>
<h3>{{ '2023-01-01' | date : 'full' }} | {{ '2023-01-01' | date : 'MMM yyyy'}}</h3>
Run Code Online (Sandbox Code Playgroud)

结果:

Wednesday, January 1, 2020 at 12:00:00 AM GMT+03:30 | Jan 2020
Friday, January 1, 2021 at 12:00:00 AM GMT+03:30 | Jan 2021
Saturday, January 1, 2022 at 12:00:00 AM GMT+03:30 | Jan 2022
Sunday, January 1, 2023 at 12:00:00 AM GMT+03:30 | Jan 2023
Run Code Online (Sandbox Code Playgroud)

ForkedStackBliz

但更好的方法是使用每种格式的名称:

<h3>{{ '2020-01-01' | date : 'full' }} | {{ '2020-01-01' | date : 'MMM yyyy'}}</h3>
<h3>{{ '2021-01-01' | date : 'full' }} | {{ '2021-01-01' | date : 'MMM yyyy'}}</h3>
<h3>{{ '2022-01-01' | date : 'full' }} | {{ '2022-01-01' | date : 'MMM yyyy'}}</h3>
<h3>{{ '2023-01-01' | date : 'full' }} | {{ '2023-01-01' | date : 'MMM yyyy'}}</h3>
Run Code Online (Sandbox Code Playgroud)