【发布时间】:2019-02-14 23:13:52
【问题描述】:
我有日期过滤器的表单,我尝试为日期输入的开始日期和结束日期设置默认值。
<form [formGroup]="filter" (ngSubmit)="applyFilter()">
<mat-form-field>
<input matInput [matDatepicker]="start" formControlName="start" placeholder="Начальная дата">
<mat-datepicker-toggle matSuffix [for]="start"></mat-datepicker-toggle>
<mat-datepicker #start></mat-datepicker>
</mat-form-field>
<mat-form-field>
<input matInput [matDatepicker]="end" formControlName="end" placeholder="Конечная дата">
<mat-datepicker-toggle matSuffix [for]="end"></mat-datepicker-toggle>
<mat-datepicker #end></mat-datepicker>
</mat-form-field>
还有TS部分
refreshFilter() {
const now = new Date();
const monthAgo = new Date().setMonth(now.getMonth() - 1).toString();
console.log(monthAgo)
console.log(now)
this.filter = new FormGroup({
start: new FormControl(monthAgo, []),
end: new FormControl(now, [])
});
}
我一个月前的console.log() 是1533908066234,但对于新日期是Mon Sep 10 2018 16:34:26 GMT+0300,并且时间戳表单输入不起作用。如何将正确的月份前日期格式设置为FormControl?
【问题讨论】:
-
为什么不给默认值
now.getMonth() + 1??
标签: javascript angular timestamp angular-forms