Угловая строка в строковый формат даты - PullRequest
0 голосов
/ 26 сентября 2019

Как я могу преобразовать строковый (дд / мм / гггг) формат в дд / мм / гг в шаблоне Angular.

Код:

{{ stringDate | date: 'dd/MM/yy' }}

Я получаю эту ошибку в консоли

Unable to convert "30/08/2019" into a date' for pipe 'DatePipe'

PS - я не хочу создавать пользовательский канал.

Ответы [ 3 ]

0 голосов
/ 26 сентября 2019

Не красиво, но это сделает трубку счастливой:

  {{ 
    (stringDate.split('/')[1] 
    + '/' 
    + stringDate.split('/')[0] 
    + '/' 
    + stringDate.split('/')[2])
    | date:'dd/MM/yy' 
  }}

Проверьте stackblitz

0 голосов
/ 26 сентября 2019

парсит дату до приемлемых форматов даты, а затем использует конвейер даты для преобразования в требуемый формат. Вы можете сослаться на приемлемые форматы отсюда https://www.w3schools.com/js/js_date_formats.asp и получить требуемый формат, например:

new Date(parseInt(("30/08/2019").split("/")[2],10),parseInt(("30/08/2019").split("/")[1],10)-1,parseInt(("30/08/2019").split("/")[0],10))
0 голосов
/ 26 сентября 2019

Попробуйте изменить 30/08/2019 (дд / мм / гггг) на 30/08/2019 (мм / дд / гггг), прежде чем передавать его в трубу.

Труба ожидает, что первая часть даты (30) будет месяцем, а поскольку 30 больше 12, то она не знает, что делать.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...