Parece que no puedo hacer que funcione el polyfill de la API de internacionalización. Como se indica en los documentos ( https://angular.io/docs/ts/latest/guide/pipes.html ), uno simplemente necesita agregar un script a su index.html:
<script src="https://cdn.polyfill.io/v2/polyfill.min.js?features=Intl.~locale.de"></script>
Y todos los problemas con las tuberías de fecha mostradas incorrectamente deberían desaparecer. Sin embargo, este problema aún persiste.
En otra página web ( https://coryrylan.com/blog/adding-the-internationalization-polyfill-to-a-angular-cli-project ), encontré una solución más favorable para instalar la API de internacionalización y agregarla a polyfills.ts
en la carpeta angular src.
Uno debe npm run install intl --save
y luego importar el polyfill intl como import 'intl'; import 'intl/locale-data/jsonp/de.js';
pero esto tampoco funciona.
¿Alguien ha tenido éxito al agregar el polyfill de fecha a Angular 4?
Algunos sugirieron usar una tubería personalizada de moment.js
pero esto no puede ser una solución para mí ( la tubería de fecha Angular2 no funciona en IE 11 y edge 13/14 ), ya que una bestia tan poderosa como angular debería proporcionar tal funcionalidad. ¿Tal vez hice algo mal?
No puede usar libremente angulars datePipe para formatear fechas. Me gusta esto: | date: 'HH:mm'
esto funciona en cromo pero no en borde para mostrar: 08:15
. Puede usar la tubería 'shortTime' de Angular para esto.
EDITAR 05/08/2017: Cualquiera que aún tenga problemas con la API de internacionalización en Safari: asegúrese de pasar una fecha como {{"2016-07-03T12:33Z" | date 'dd.MM.yyyy'}}
, por lo que necesita una representación de cadena ISO para que funcione (solo se necesita en safari), gracias Apple.