InvalidPipeArgument для DatePipe, часовой пояс IST не поддерживается по умолчанию

Я пытался использовать DatePipe для форматирования значений даты, которые я получаю из REST API. Формат строки даты в REST API выглядит следующим образом: ср 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 ответ

Решение

Изучив документацию по DatePipe более подробно, я наткнулся на это..

timezone использоваться для форматирования. Он понимает UTC/GMT и аббревиатуры часовых поясов континентальной части США, но для общего использования используйте смещение часового пояса, например: '+0430' (4 часа, 30 минут к востоку от гринвичского меридиана) Если не указано иное, будет использоваться локальный системный часовой пояс браузера конечного пользователя.

Отправка формата с GMT+530 или просто +530 вместо IST работал нормально. В конце концов я изменил свой формат, например, 28 марта 12:20:11 GMT+530 2018

Другие вопросы по тегам