#javascript #angular
#javascript #angular
Вопрос:
Я хотел бы добавить количество дней к дате, которую я указываю в своей форме, а затем отобразить ее в пустом поле ввода.
<div class="col">
<input type="date" [(ngModel)]="date" />
<input type="number" min="1" max="31" [(ngModel)]="day"/>
</div>
<div class="col">
<input type="button" value="Calculate" (click)="addDays()"/>
</div>
<div class="col">
<input type="text" [(ngModel)]="result"/>
</div>
Код, лежащий в основе
day: number;
date: Date;
result: Date;
addDays(){
this.result = this.date.setDate(this.date this.day);
console.log(this.result);
}
Я получаю сообщение об ошибке: this.date.setDate is not a function
потому что я не могу добавить число к дате. Я проверил некоторые темы, но не нашел решений.
Ответ №1:
Вы должны сделать что-то вроде этого:
function addDays(date, days) {
var newDate = new Date(date);
newDate.setDate(newDate.getDate() days);
return newDate;
}
Комментарии:
1. Я знаю, но getDate() дает текущую дату, и я не хочу этого, и это не сработает, потому что уже указана дата.
2. он не должен указывать текущую дату, потому что вы это делаете
new Date(date)
, а неnew Date()