Sto usando la pipe date
per formattare la mia data, ma non riesco ad ottenere il formato esatto che voglio senza una soluzione alternativa. Sto capendo male le pipe o semplicemente non è possibile?
//our root app component
import {Component} from 'angular2/core'
@Component({
selector: 'my-app',
providers: [],
template: `
<div>
<h2>Hello {{name}}</h2>
<h3>{{date | date: 'ddMMyyyy'}}, should be
{{date | date: 'dd'}}/{{date | date:'MM'}}/{{date | date: 'yyyy'}}</h3>
</div>
`,
directives: []
})
export class App {
constructor() {
this.name = 'Angular2'
this.date = new Date();
}
}
Sto usando questa soluzione temporanea:
import {Pipe, PipeTransform} from "angular2/core";
import {DateFormatter} from 'angular2/src/facade/intl';
@Pipe({
name: 'dateFormat'
})
export class DateFormat implements PipeTransform {
transform(value: any, args: string[]): any {
if (value) {
var date = value instanceof Date ? value : new Date(value);
return DateFormatter.format(date, 'pt', 'dd/MM/yyyy');
}
}
}
L'unica cosa che ha funzionato per me è stata ispirata da qui: https://stackoverflow.com/a/35527407/2310544
Per il puro dd/MM/yyyy, questo ha funzionato per me, con angular 2 beta 16:
{{ myDate | date:'d'}}/{{ myDate | date:'MM'}}/{{ myDate | date:'y'}}
Penso che sia perché il locale è hardcoded nel DatePipe
. Vedere questo link:
E non c'è modo di aggiornare questo locale per configurazione in questo momento.