【发布时间】:2019-11-22 06:25:28
【问题描述】:
我有 3 个输入控件,两个日期类型,一个是数字,我想做的是从第一个控件获取日期,而不是。来自其他控件的天数将它们都添加并分配给打字稿中的第三个日期控件。但我给我的错误是我的代码:
activeFrom: Date;
activeNoDays: number;
//UpdateExpiry Function is called by textbox event
updateExpiry=():void =>{
this.gDetailDS = this.gDetailForm.value;
console.log("Expiry days:"+this.gDetailDS.activeNoDays);
console.log (this.addDays(this.gDetailDS.activeFrom,this.gDetailDS.activeNoDays))
}
addDays(date: Date, days: number): Date {
console.log('adding ' + days + ' days');
console.log(date);
date.setDate(date.getDate() + days);
console.log(date);
return date;
}
这里是 HTML 控件:
<input
id="txtActivateFrom"
type ="date"
min="rdMinDate"
formControlName="activeFrom"
class="form-control"
value="{{ this.gDetailDS.activeFrom | date:'yyyy-MM-dd' }}"
displayFormat="yyyy-MM-dd"
useValueAsDate />
<input type="number"
formControlName="activeNoDays" class="form-control"
(change)="updateExpiry()"/>
控制台消息:
Expiry days:25
adding 25 days
2019-07-12
我已经尝试过,但仍然遇到这个问题:
ERROR TypeError: date.getDate is not a function
【问题讨论】:
-
来自stackoverflow.com/a/45485198/8155 "你可能缺少类型定义"
-
typeof this.gDetailDS.activeFrom返回什么?因为我怀疑它是一个字符串。 -
请做一个控制台日志来确认
this.gDetailDS.activeFrom实际上是一个日期 -
你已经有一个
console.log(date),它是什么意思?看起来像Date 2019-07-12T13:24:29.059Z吗?
标签: angular typescript date datetime