【问题标题】:How to set date format in input of ng bootstrap如何在 ng bootstrap 的输入中设置日期格式
【发布时间】:2017-03-01 06:59:19
【问题描述】:

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

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

Here {{dispalyLiveDate | date: 'd/M/yy'}} is my default value, when select date then date format is convert to yyyy-M-dd, i want this date format same as d/M/yy
我已阅读文档并找到方法format(date: NgbDateStruct),但不知道如何使用它。
是否可以将默认日期格式直接转换为输入标签(不转换为组件)?

【问题讨论】:

标签: angular date-format ng-bootstrap


【解决方案1】:

如果你有任何格式的日期,你可以在 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' }">

【讨论】:

  • OP 询问的是 ngb-datepicker,而不是 ngx-datepicker。
猜你喜欢
  • 2011-10-22
  • 2020-03-22
  • 2020-09-28
  • 2017-04-08
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多