0

我一直在尝试为我的数据设计一个日期范围过滤器,并制作了一个测试函数来将变量更改为开始日期和结束日期。该代码在直接调用时显示正确的日期,但是在打印变量时,它不能正确打印。

组件.html:

<div class="search">
    <input type="text" matInput
    id = 'calander'
    ngxDaterangepickerMd
    [locale]="{ 
      cancelLabel: 'Cancel',
      applyLabel: 'Okay',
      clearLabel: 'Clear',
      format: 'YYYY/MM/DD'
    }"
    startKey="start"
    endKey="end"
    [(ngModel)]="selected"
    name="daterange"
    (ngModelChange)="doSomething($event)"/>
    <button class="ripple" type="submit" ></button>
</div>

组件.ts:

  startDate: Moment;
  endDate: Moment;

  doSomething(event){
    console.log(event) // input value is logged
    alert(event.start); 

    this.startDate = event.start;
    this.endDate = event.end;
    alert('start: ' + this.startDate + '\nend: ' + this.endDate);
 }

第一次警报 第二次警报

4

1 回答 1

0

在您的情况下,日期值以毫秒为单位分配给其他变量,这就是您在长整数值中看到日期时间的原因。

您必须创建一个新的 Date()对象才能获得所需的日期时间格式。

this.startDate = new Date(event.start);
this.endDate = new Date(event.end);

您可以从Date syntax (MDN)获得有关日期格式的帮助。

于 2019-12-03T08:31:49.353 回答