Angular дата разговора к моменту для formControl - PullRequest
0 голосов
/ 28 января 2020

Мне нужно использовать момент с датами. Я запутался здесь и вызвал много ошибок. Я пытаюсь ввести момент с датами в моем коде, не нарушая ничего. Это рабочий код, отлично работает в chrome, но в IE, год показывает неправильный. Для года вместо 19, как 2019, отображается 1919. После исследования я узнал, что эту проблему можно исправить с помощью момента.

// Необходимо установить дату начала

  <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>


 entryTypeChanged(event: MatSelectChange) {
    if (
      event.value &&
      event.value === 1
    ) {
      this.displayDatePickerForScheduleReleases = true;
      if (!(this.releaseManagementInteractiveForm.get('startDate'))) {
        this.releaseManagementInteractiveForm.addControl(
          'startDate',
          new FormControl(new Date().toISOString())
        );
      } else {
        this.releaseManagementInteractiveForm.get('startDate').setValue(new Date().toISOString());
      }
    } else {
      this.displayDatePickerForScheduleReleases = false;
      this.releaseManagementInteractiveForm.removeControl(
        'startDate'
      );
    }
  }

Ответы [ 2 ]

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

Если вы хотите использовать момент для дат во всем приложении, вы должны импортировать MatMomentDateModule в app.module вместо MatNativeDateModule

@NgModule({
  imports: [MatDatepickerModule, MatMomentDateModule],
})
export class AppModule {}

, это зависит от момента, поэтому вам нужно также установить момент.

Angular Материал - выбор реализации даты и настроек формата даты

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

Вам необходимо установить библиотеку моментов

npm install moment  --save

Импорт и использование в вашем файле Typescript

import * as moment from 'moment';

, если вы получаете ошибку при импорте, используйте

import  moment from 'moment';

для вашего случая используйте

 new Date() to  moment.utc()

решает вашу проблему

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...