2017-09-06 3 views
1

나는 각 재료의 웹 사이트에 공식 문서를 따라 시도/yyyy.각도이 자료 날짜 선택기 변경 형식과 언어

constructor(
    dateAdapter: DateAdapter<NativeDateAdapter>, 
    ... 
) { 
    dateAdapter.setLocale('he-HE'); 
} 

이제 언어 : 나는 component.ts 파일에 설정 한 다음 설정에 의해 히브리어 언어를 변경 할 수 있었다 시도

<md-form-field class="full-width"> 
    <input 
     (click)="picker.open()" 
     [min]="minDate" 
     [max]="maxDate" 
     mdInput 
     readonly 
     [mdDatepicker]="picker" 
     formControlName="date" 
     placeholder="Choose Date"> 
    <md-datepicker-toggle mdSuffix [for]="picker"></md-datepicker-toggle> 
    <md-datepicker touchUi="true" #picker></md-datepicker> 
</md-form-field> 

:

내 component.html입니다 변경 (월 이름 등) 및 형식이 d/m/yyyy (으)로 변경된 경우

문제는 사용자가 1.7.17을 선택하면 1을 선택한다는 것을 의미합니다. Septem ber 2017 그리고 사용자가 datepicker를 다시 클릭하면 다시 1 월 달력이 표시됩니다.

도움 주셔서 감사합니다.

+0

당신은 확인할 수 있습니다

moment.locale('fr'); 

와 공급자를 추가 :

@Injectable() export class MyDateAdapterService extends NativeDateAdapter { parse(value: any): Date | null { if (typeof value === 'number') { return new Date(value); } if (value) { const localeData = moment.localeData(); const format = localeData.longDateFormat('L'); return moment(value, format).toDate(); } else { return null; } } } 

또한 같은 순간 로케일을 변경해야는 이 [답변] (https://stackoverflow.com/a/45525364/5556177)을 참조하십시오. – Nehal

답변

0

구문 분석을 구현해야합니다. 나는 moment.js 라이브러리를 사용하고 여기 내 IMPL입니다 :

providers: [ 
    [{provide: DateAdapter, useClass: MyDateAdapterService}] 
]