场景: 加载组件后,一切正常。日期不早于1。 但是在我使用mat-datepicker更改日期或手动更改日期后,该日期已关闭1.。
我可以看到其时区问题。使用-4:00偏移时区,这会给我带来错误的行为,但是在我的时区中,它可以正常工作(+5:30)。
请帮助!
HTML:
<input id="startDatePicker" matInput [matDatepicker]="startDatePicker" [(ngModel)]="model.start" placeholder="mm/dd/yyyy" class="form__dateInput"/>
<mat-datepicker-toggle matSuffix [for]="startDatePicker"></mat-datepicker-toggle>
<mat-datepicker #startDatePicker></mat-datepicker>
ModelClass文件:
export class Query {
start = moment();
end = moment();
public toParams(): HttpParams {
let params = new HttpParams();
start.local();
end.local();
this.start.startOf('day');
this.end.endOf('day');
params = params.set('start', this.start.toISOString());
params = params.set('end', this.end.toISOString());
}
}
答案 0 :(得分:1)
您可以通过提供MAT_MOMENT_DATA_ADAPTER_OPTIONS并将其设置为useUtc:true,来更改默认行为以将日期解析为UTC。
@NgModule({
imports: [MatDatepickerModule, MatMomentDateModule],
providers: [
{ provide: MAT_MOMENT_DATE_ADAPTER_OPTIONS, useValue: { useUtc: true } }
]
})