DatePipe的InvalidPipeArgument,默认情况下不支持IST时区

时间:2018-03-28 11:40:09

标签: angular datetime angular-pipe date-pipe angular-date-format

我尝试使用DatePipe格式化从REST API获取的日期值。 REST API中日期字符串的格式如下: Wed Mar 28 12:20:11 IST 2018

当字符串中的时区是UTC,EST等时,它可以正常工作。但是如果时区字符串是IST,CET或其他字符串,则会导致以下错误。

ERROR Error: InvalidPipeArgument: 'Wed Mar 28 12:20:11 IST 2018' for pipe 'DatePipe'
at invalidPipeArgumentError (VM616 common.umd.js:4313)
at DatePipe.transform (VM616 common.umd.js:4495)
at MyPipe.transform (VM1283 my.pipe.ts!transpiled:20)

此处提供了样本复制器:https://plnkr.co/edit/UPNJG9ejpYdkYQivq3cj?p=preview。我尝试创建一个DatePipe实例,如下所示,但它不起作用。

new DatePipe('en-IN')

有人可以告诉我如何添加对DatePipe默认不支持的时区的支持。

提前致谢。

1 个答案:

答案 0 :(得分:0)

在更详细地浏览了documentation for DatePipe之后,我偶然发现了这个......

  

timezone用于格式化。它理解UTC / GMT和美国大陆时区的缩写,但是对于一般用途,使用时区偏移,例如'+0430'(格林威治子午线以东4小时30分钟)如果没有指定,则为当地将使用最终用户浏览器的系统时区。

使用GMT+530或仅+530而不是IST发送格式正常。 最后,我最终修改了我的格式,如 Wed Mar 28 12:20:11 GMT + 530 2018