text 更改日期格式Ng-bootstrap Datepicker Angular 5

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了text 更改日期格式Ng-bootstrap Datepicker Angular 5相关的知识,希望对你有一定的参考价值。

**Create a new ts file named dateformat.ts and copy the following code:

import { NgbDateParserFormatter, NgbDateStruct } from '@ng-bootstrap/ng-bootstrap';
import { Injectable } from '@angular/core';
import { isNumber, toInteger, padNumber } from '@ng-bootstrap/ng-bootstrap/util/util';

@Injectable()
export class NgbDateCustomParserFormatter extends NgbDateParserFormatter {
  parse(value: string): NgbDateStruct {
    if (value) {
      const dateParts = value.trim().split('/');
      if (dateParts.length === 1 && isNumber(dateParts[0])) {
        return {day: toInteger(dateParts[0]), month: null, year: null};
      } else if (dateParts.length === 2 && isNumber(dateParts[0]) && isNumber(dateParts[1])) {
        return {day: toInteger(dateParts[0]), month: toInteger(dateParts[1]), year: null};
      } else if (dateParts.length === 3 && isNumber(dateParts[0]) && isNumber(dateParts[1]) && isNumber(dateParts[2])) {
        return {day: toInteger(dateParts[0]), month: toInteger(dateParts[1]), year: toInteger(dateParts[2])};
      }
    }
    return null;
  }

  format(date: NgbDateStruct): string {
    return date ?
        `${isNumber(date.day) ? padNumber(date.day) : ''}/${isNumber(date.month) ? padNumber(date.month) : ''}/${date.year}` :
        '';
  }
}

**then import the class on the angular component that is using the datepicker.

import { NgbDateCustomParserFormatter} from '../../../../filter/dateformat';

**Then add the provider to the component that will use the class:

@Component({
  selector: '....',
  templateUrl: '....',
  styleUrls: ['....'],
  animations: [....],
  host: { '....' },
  providers: [
    {provide: NgbDateParserFormatter, useClass: NgbDateCustomParserFormatter}
   ]
})

以上是关于text 更改日期格式Ng-bootstrap Datepicker Angular 5的主要内容,如果未能解决你的问题,请参考以下文章

如何在输入字段上检测 ng-bootstrap Datepicker 中的日期选择?

更改 ng-bootstrap UI 中的模态大小(角度 2)

如何更改单元格onChange的更改日期格式?

更改 laravel 视图页面中的日期格式

如何在 ng-bootstrap 中更改模态框的位置

在 ng-bootstrap datepicker 中将 CSS 类应用于自定义日期模板