Javascript 从输入类型date开始添加月份到日期
我的表单中有两个输入字段:Javascript 从输入类型date开始添加月份到日期,javascript,angular,Javascript,Angular,我的表单中有两个输入字段: <input type="date" [(ngModel)]="contractInception" name="contractInception"> <input type="text" [(ngModel)]="contractLength" (blur)="calculateContractEnd()" name="contractLength" maxlength="2" max="72"> 例如: 用户将2018年4月20日输入C
<input type="date" [(ngModel)]="contractInception" name="contractInception">
<input type="text" [(ngModel)]="contractLength" (blur)="calculateContractEnd()" name="contractLength" maxlength="2" max="72">
例如:
用户将2018年4月20日输入ContractOption,将2018年4月12日输入contractLength,而我希望contractEnd的值为2019年4月20日。我花了一点时间才找到答案,但现在使用moment.js的解决方案如下所示:
calculateContractEnd() {
let monthToAdd = this.contractLength.toString();
let dateToCalc = moment(this.contractInception).add(monthToAdd, 'month');
let newDate = dateToCalc.toDate();
let newConvertedDate = newDate.toISOString()
let newOnlyDate = newConvertedDate.split('T')[0];
this.contractEnd = newOnlyDate;
}
问题是要得到一个值,这个值可以从一个数据库解析回值字段,但有了这个解决方案,它就可以工作了 我建议使用类似于moment.jsIt的方法。问题不太清楚-您是否成功地计算了结束日期,但没有显示出来?请添加CalculateContactEnd的代码。
calculateContractEnd() {
let monthToAdd = this.contractLength.toString();
let dateToCalc = moment(this.contractInception).add(monthToAdd, 'month');
let newDate = dateToCalc.toDate();
let newConvertedDate = newDate.toISOString()
let newOnlyDate = newConvertedDate.split('T')[0];
this.contractEnd = newOnlyDate;
}