Кажется, я не могу заставить работать полифил API интернационализации. Как указано в документах (https://angular.io/docs/ts/latest/guide/pipes.html) нужно просто добавить скрипт в ваш index.html:
<script src="https://cdn.polyfill.io/v2/polyfill.min.js?features=Intl.~locale.de"></script>
И все проблемы с неправильным отображением каналов даты должны исчезнуть. Однако эта проблема все еще сохраняется.
На другой веб-странице (https://coryrylan.com/blog/adding-the-internationalization-polyfill-to-a-angular-cli-project), я нашел более предпочтительное решение: установить API интернационализации и добавить его в polyfills.ts
в папке angular src.
Нужно npm run install intl --save
, а затем импортировать intl polyfill, например
import 'intl';
import 'intl/locale-data/jsonp/de.js';
, но это тоже не работает.
У кого-нибудь был успех с добавлением полифилла даты в Angular 4?
Некоторые предлагали использовать пользовательский канал из moment.js
, но это не может быть решением для меня (Канал даты Angular2 не работает в IE 11 и Edge 13/14), так как такой мощный зверь, как angular, должен обеспечивать такую функциональность. Может я что-то не так сделал?
const tTraining :Training = {Device : tDevice, TrainingTime: new Date(2017,04,27) } as Training
, так что теперь я попытался получить правильное немецкое время, которое можно было записать как:21:49
или09:49 PM
. Поскольку второй менее используется в Германии, я хотел получить первый и попытался использоватьtTraining.TrainingTime | date : 'HH:mm'
, поскольку, насколько мне известно,HH
означает часы из двух цифр, аmm
- минуты. Но мне не повезло с этим в краю.Trainee.TrainingTime | date: 'shortTime'
работает и дает мне первый из двух вариантов и работает, когда в app.module.ts указана локаль 'de' - person BigPenguin   schedule 27.04.2017