Мне нужно использовать HTML5 input type = 'date' для моего приложения angular 6. Я хочу показать это в формате дд / мм / гггг. Но когда я меняю формат времени локального компьютера на yyyy-MM-dd, хром автоматически меняет формат времени на формат времени локального компьютера. Но я хочу установить его как дд / мм / гггг для всех пользователей. (Потому что их форматы времени ПК могут быть разными) Как я могу решить эту проблему. Есть ли у них какой-нибудь способ отформатировать его.
Если я поставлю атрибут формата следующим образом, он не будет работать.
<input type = "date" format = "dd/MM/yyyy"/>






Короткий ответ заключается в том, что в настоящее время невозможно отформатировать дату (нет доступного атрибута format).
Однако вам, вероятно, понадобится решение, поэтому вот несколько вариантов, которые вы, возможно, захотите попробовать.
1) Используйте <input type='text'> для отображения и используйте скрытый <input type='date'>, когда пользователь пытается открыть средство выбора даты (может быть непросто открыть собственное средство выбора даты программно), и пусть JavaScript помещает дату из средства выбора даты в текст типа ввода
2) Просто используйте библиотеку с настраиваемым выбором даты, например Угловой материал DatePicker, с методом setLocale.
Спасибо за ответ @Mendy. Я собираюсь попробовать другое средство выбора даты от стороннего производителя.
Помимо материала Angular Datepicker - это любой сторонний модуль, который легко интегрируется с <input type = 'date' [(ngModel) = "inputDate"]>. Поскольку некоторые датпикеры трудно применять с ngModel
Вы можете попробовать ng-bootstraps датапикер или Датапикер ngx-bootstraps, они оба используют теги ввода, поэтому использовать ngModel должно быть довольно легко.
Да, но их модель вывода отличается от обычного ввода даты. Модель: {"год": 2019, "месяц": 1, "день": 31}, поэтому мне нужно написать другой метод, чтобы справиться с этим.
Возможно, вы могли бы взглянуть на эту статью: stackoverflow.com/questions/7372038/…