Angular 2上的日历使用PrimeNG日期,以毫秒为单位

时间:2017-03-20 19:57:34

标签: angular typescript datepicker primeng

我在PrimeNG的日历组件中有毫秒的时间

HTML

<p-calendar [(ngModel)]="task.startDate"
    [minDate]="minDateValue"
    [maxDate]="maxDateValue"
    readonlyInput="readonlyInput"
    [showIcon]="true">
</p-calendar>

打字稿

"startDate":1490039621704,

但我得到以下错误

EXCEPTION: Uncaught (in promise): TypeError: date.getMonth is not a function
TypeError: date.getMonth is not a function

有没有办法告诉组件以特定格式读取日期,就像我的情况一样,它是毫秒

更新

根据文档here,日期格式(以毫秒为单位)应为 @ - Unix时间戳(自1970年1月1日起的ms)  所以我将属性dateFormat="@"添加到组件中,但似乎没有修复它。

1 个答案:

答案 0 :(得分:1)

根据错误,它需要Date Object

尝试:

date = new Date(task.startDate);

可能性基于OP更新。

错误可能在服务器响应task.startDate之前发生。如果是这种情况,在组件级别将task.startDate初始化为0可能会解决问题。

export class AppComponent {

    task = { startDate: 0 };

    ...

}