Angular указатель даты показывает неправильный год в IE (вместо 2019 года - 1919) - PullRequest
0 голосов
/ 29 января 2020

Я не знаю, почему IE показывает неправильную дату (год) из angular выбора даты. В chrome работает нормально, но не в IE. Если я получу дату 1/1/2019, она будет отображаться 01.01.1919, аналогично для 01.01.2016 -> 01.01.1916. В основном это показывает 100 лет назад. В chrome все нормально (Показывает 01.01.2009 -> 01.01.2009)

вот это значение установлено

 if (releaseEntryTypeId === 1) {
                this.releaseModificationItem.releaseManagementInteractiveForm
                .get('startDate')
                .setValue(moment.utc(this.releaseDetails.startDate).toISOString());
              }

formBiuilder

 this.releaseManagementInteractiveForm = this.formBuilder.group({
      releaseEntryType: new FormControl(null, [Validators.required]),
      ..............................................
      startDate: new FormControl(moment())
    });

HTML

<div class="schedule-release-date" *ngIf="formControls['releaseEntryType'].value === 1">
      <mat-form-field [floatLabel]="">
        <input required matInput [matDatepicker]="releaseDatePicker" placeholder="Release Date" [formControl]="formControls['startDate']">
        <mat-datepicker-toggle matSuffix [for]="releaseDatePicker"></mat-datepicker-toggle>
        <mat-datepicker #releaseDatePicker></mat-datepicker>
      </mat-form-field>
    </div>

Я обнаружил, что кто-то обнаружил похожую проблему в stackoverflow: - Как исправить год из двух цифр в mat-datepicker в браузере IE?

В соответствии с решением, я пытался реализовать момент, но у меня это тоже не сработало

1 Ответ

0 голосов
/ 31 января 2020

Вы можете обратиться к этой онлайн-демонстрации , чтобы заставить angular DatePicker работать в IE 11.

Вы можете скачать проект, перейти в проект и запустить npm install установить проект. Я также изменил файл datepicker-moment-example.ts следующим образом:

...
import * as _moment from 'moment';
// tslint:disable-next-line:no-duplicate-imports
//import {default as _rollupMoment} from 'moment';

const moment = _moment;
...

Демонстрация в основном такая же, как и в ответе на похожую проблему, которую вы нашли. Вам нужно запустить npm i moment, чтобы установить пакет и реализовать moment .

...