Как установить дату в формате, который не поддерживается модулем календаря PrimeNG? - PullRequest
1 голос
/ 21 июня 2019

Я использую модуль календаря PrimeNG в своем приложении. Я разрешаю клиентам указывать формат, в котором они хотят видеть дату. Это миграция старого приложения на Angular, поэтому я хочу сохранить старый формат, настроенный пользователем.

В старой версии у нас были форматы, такие как

  1. гггг / мм / дд ЧЧ: мм: сс (например, 2019/05/22 05:55:43)
  2. 'Q'Q гггг (Первая Q должна отображаться в том виде, в каком она заключена в кавычки, а 2-я кавычка должна быть заменена на четверть выбранной даты. Например, Q2 2020
  3. гггг / мм / дд ЧЧ (например, 2019/05/22 05)
  4. Мы также позволяли пользователям создавать свои собственные форматы, используя эти строковые литералы.

Теперь CalendarModule использует другой формат, поэтому я конвертирую yyyy в yy для полного года и yy в один y для последних 2-х чисел года. Точно так же я преобразую MM верхнего регистра в нижний регистр mm, поскольку это то, что понимает модуль календаря, но в документации PrimeNG не указаны литералы для часов, минут и секунд.

Более того, когда пользователь вводит любую пользовательскую дату - Q2 2019, я хочу сохранить ее как есть, но Calendar устанавливает ее значение как достаточно нулевое, хотя для атрибута keepInvalid я установил значение true - [keepInvalid]="true"

Буду признателен за любую помощь в этом.

Спасибо!

...