Angular DatePipe - 使用零时区(12 而不是 00)将秒数转换为时间

Jus*_*dow 12 date-pipe angular

我想使用 DatePipe 转换数字(代表秒)以获得如下结果:

00:00:05

我试过用 DatePipe 这样做:

<label>No timezone (default) {{ 5 * 1000 | date:'h:mm:ss'}}</label>
Run Code Online (Sandbox Code Playgroud)

但它产生的结果包含时区 +4(这不是我想要的):

4:00:05

所以为了避免这种情况,我试图将时区偏移设置为 0:

<label>{{ 5 * 1000 | date:'h:mm:ss z':'+0000'}}</label>
<label>{{ 5 * 1000 | date:'h:mm:ss z':'UTC'}}</label>
<label>{{ 5 * 1000 | date:'h:mm:ss z':'GMT'}}</label>
<label>{{ 5 * 1000 | date:'h:mm:ss z':'GMT+0'}}</label>
<label>{{ 5 * 1000 | date:'h:mm:ss z':'UTC+0'}}</label>
Run Code Online (Sandbox Code Playgroud)

但这一次时间移动了 12 小时而不是 0:

12:00:05 格林威治标准时间+0

那么有没有一种方法可以在不移动时区的情况下使用 DatePipe 将秒转换为时间?
或者是否有任何其他角度的管道可用于此目的?

Jus*_*dow 22

所以这个相当棘手的问题有一个非常简单的解决方案。
我们只需要使用 'H' 而不是 'h'(范围是 0-23)。
例子:

<label>{{ 5 * 1000 | date:'H:mm:ss':'UTC'}}</label>
Run Code Online (Sandbox Code Playgroud)

获得 '12' 的原因是在时间格式中使用了 'h',该格式限制为 1 到 12,并将 00:00 转换为 12:00 (AM)。

在此处输入图片说明