形式,用于使用角引导的日期字段-ngbDatepicker
<input ngbDatepicker #d="ngbDatepicker" [readonly]="true"
[minDate]="{year: 1900, month: 1, day: 1}"
[formControl]="empForm.controls['dob']" />
此处尝试创建日期对象,以替换员工表格日期。但是得到一个不同的日期
let oDob = new Date(employeeToSave.dob['year'], employeeToSave.dob['month'], employeeToSave.dob['day']);
[Thu Jan 02 2020 00:00:00 GMT + 0530(印度标准时间)所选日期"2019-12-02"
现在为"2020-01-02"
在Date()
中,月份的索引是基于0您想要输入的任何数字,例如december(12th month)
,将具有值11
。因此,请尝试将(month-1)放入new Date()
。
如下图所示:
let oDob = new Date(employeeToSave.dob['year'], employeeToSave.dob['month']-1, employeeToSave.dob['day']);
工作段:
let month=12;
let year = 2019;
let day = 12;
dob = new Date(year,month,day);
console.log("wrong Date : "+dob);
dob2 = new Date(year,month-1,day);
console.log("correct Date : "+dob2);
您可以通过实现NgbDateAdapter抽象类来修改日期格式,但实际上,有一个现成的Date
本机适配器。
See official docs,您正在寻找此行:
providers: [{provide: NgbDateAdapter, useClass: NgbDateNativeAdapter}]
[Month-1
和Day + 1
let oDob = new Date(employeeToSave.dob['year'], employeeToSave.dob['month'] - 1, employeeToSave.dob['day'] + 1);