angular - date.getDate 不是函数 Typescript

标签 angular typescript date datetime

我有 3 个输入控件,两个日期类型,一个是数字,我想要做的是从第一个控件获取日期,但没有。来自其他控件的天数将它们都添加并分配给 typescript 中的第三个日期控件。但我给了我错误,这是我的代码:

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

link: screenshot of error appear on browser console

最佳答案

我曾经在从 Web API 获取日期时遇到过类似的问题。我通过创建一个新的 Date 对象解决了这个问题。

所以你的函数调用可能如下所示:

this.addDays(new Date(this.gDetailDS.activeFrom),this.gDetailDS.activeNoDays)

关于angular - date.getDate 不是函数 Typescript,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57007749/

相关文章:

javascript - Angular 异步验证器未按预期工作

angular - 调试 Angular2 变化检测器

javascript - typescript : 'string | undefined' 类型的参数不可分配给 'string' 类型的参数

Google 电子表格中的日期单元格在脚本中产生整数

angular - 无法从 Angular 中 mat-sidenav 内的组件检索路由参数

angular - 将 ng-select 过滤器输入聚焦在打开的下拉菜单上

node.js - 使用 Jest 在 VueJS 组件中模拟自定义模块

typescript - D3 TypeScript 将元素设置为路径元素的属性

javascript - 防止用户选择中间有禁用日期的日期范围

javascript - 在 Javascript/ECMAScript 中计算时间跨度