Я использую модуль календаря PrimeNG в своем приложении.
Я разрешаю клиентам указывать формат, в котором они хотят видеть дату.
Это миграция старого приложения на Angular, поэтому я хочу сохранить старый формат, настроенный пользователем.
В старой версии у нас были форматы, такие как
- гггг / мм / дд ЧЧ: мм: сс (например, 2019/05/22 05:55:43)
- 'Q'Q гггг (Первая Q должна отображаться в том виде, в каком она заключена в кавычки, а 2-я кавычка должна быть заменена на четверть выбранной даты. Например, Q2 2020
- гггг / мм / дд ЧЧ (например, 2019/05/22 05)
- Мы также позволяли пользователям создавать свои собственные форматы, используя эти строковые литералы.
Теперь CalendarModule использует другой формат, поэтому я конвертирую yyyy в yy для полного года и yy в один y для последних 2-х чисел года. Точно так же я преобразую MM верхнего регистра в нижний регистр mm, поскольку это то, что понимает модуль календаря, но в документации PrimeNG не указаны литералы для часов, минут и секунд.
Более того, когда пользователь вводит любую пользовательскую дату - Q2 2019, я хочу сохранить ее как есть, но Calendar устанавливает ее значение как достаточно нулевое, хотя для атрибута keepInvalid я установил значение true - [keepInvalid]="true"
Буду признателен за любую помощь в этом.
Спасибо!