如何在ng bootstrap的输入中设置日期格式

时间:2017-03-01 06:59:20

标签: angular date-format ng-bootstrap

我正在使用 ng bootstrap datepicker。我想在输入标签中设置日期格式 这是我的HTML代码

<input (click)="d.toggle()" type="text" [formControl]="updateEventForm.controls['live_date']" 
  value="{{dispalyLiveDate | date: 'd/M/yy'}}" ngbDatepicker #d="ngbDatepicker">

此处{{dispalyLiveDate | date: 'd/M/yy'}}是我的默认值,当选择日期时,日期格式会转换为yyyy-M-dd,我希望此日期格式与d/M/yy相同 我已阅读文档并找到方法format(date: NgbDateStruct)但不知道如何使用它 是否可以将默认日期格式直接转换为输入标记(不转换为组件)?

1 个答案:

答案 0 :(得分:0)

如果你有任何格式的日期,你可以使用这个在html中感兴趣的格式绘制它:

{{order.flight.date | date: 'dd/MM/yyyy'}} 

其中'order.flight.date'是存储日期的对象。

重要的是不要失败,因为格式与我们想要获得的格式不同。

我没有找到一种方法将日期格式化为所需的格式,然后再将其存储起来,而不是手动执行:

  // Analyze and change the date format
  parseDate(date) {
    let result = date;
    if (date != null) {
      if (date instanceof Date === false) {
        const parts = date.split('/');
        result = new Date(parts[2], parts[1] - 1, parts[0]);
      }
    }
    return result;
  }

我使用的语言是Angular 5.

在ngx-bootstrap中,您可以指定格式:

<input
        class="form-control"
        [minDate]="minDate"
        [maxDate]="maxDate"
        #dpYMD="bsDatepicker"
        bsDatepicker
        formControlName="myDateYMD"
        [bsConfig]="{ dateInputFormat: 'YYYY-MM-DD' }">
相关问题