Как установить дату html в Angular 8 из кода TypeScript - PullRequest
1 голос
/ 24 февраля 2020

Я новичок в Angular 8. Любая подсказка или помощь будет принята с благодарностью !! У меня есть следующее

<input id="startDate" name="startDate" type="date"  [(ngModel)]="startDate" required #startDate2="ngModel" />

У меня есть следующий машинописный код, который получает текущую дату минус 3 месяца.

let threeMonthsFromCurrentDate = new Date();
threeMonthsFromCurrentDate.setMonth(threeMonthsFromCurrentDate.getMonth() - 3);


this.startDate = threeMonthsFromCurrentDate;
this.startDate = new Date( threeMonthsFromCurrentDate.getFullYear(),threeMonthsFromCurrentDate.getMonth(),threeMonthsFromCurrentDate.getDate());

В браузере startDate не отображается 3 месяцев go:

enter image description here

Ответы [ 2 ]

1 голос
/ 24 февраля 2020

Вы должны использовать Date Pipe для форматирования даты, потому что input type=date принимает только один формат, поэтому

Вы можете изменить HTML на:

<input id="startDate" name="startDate" type="date"  [ngModel]="startDate | date:'yyyy-MM-dd'" required #startDate2="ngModel" />

Или Вы можете изменить TS на:

 this.startDate = threeMonthsFromCurrentDate.toISOString().substring(0, 10);
0 голосов
/ 24 февраля 2020

Вы можете проверить это здесь. Это фактически то же самое использование DatePipe в html. https://angular.io/api/common/formatDate

import { formatDate } from '@angular/common';

Например:

this.startDate = formatDate(yourDateValue, 'M/d/yy, h:mm a', 'en-US', '+0430');
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...