#angular #datepicker #ng-bootstrap
#angular #выбор даты #ng-bootstrap
Вопрос:
Я использую ng-bootstrap Datepicker примерно так, как здесь: пример plnkr
но теперь после выбора даты я получаю объект
Model: {
"year": 2016,
"month": 10,
"day": 13
}
Но я хотел бы получить дату в этом формате 2016-10-17
Ответ №1:
Вы можете использовать NgbDateParserFormatter
import {NgbDateParserFormatter} from '@ng-bootstrap/ng-bootstrap';
constructor(private parserFormatter: NgbDateParserFormatter) {}
...
let date = this.parserFormatter.format(this.model);
Комментарии:
1. Спасибо за этот совет. Сработало для меня. Я действительно не понимаю, почему (настраиваемый или по умолчанию) форматировщик не интегрирован по умолчанию в сортировку и отмену сортировки между полями выбора даты и ввода текста.
Ответ №2:
Вы можете извлечь определенные свойства объекта и создать свою строку даты следующим образом:
let date = this.Model.year '-' this.Model.month '-' this.Model.day
Ответ №3:
вы можете написать машинописный текст, как показано ниже.
date: NgbDateStruct;
ngOnInit(){
this.date = {
year: 2016,
month: 10,
day: 17
}
}
и печатать в HTML
<span>{{ date }}</span>
Ответ №4:
Приведенное ниже решение работает для angular 5-6-7-8-9:
Импорт:
импортируйте { NgbDateParserFormatter} из ‘@ng-bootstrap/ng-bootstrap’;
конструктор:
частный синтаксический анализатор: NgbDateParserFormatter
Получить значение:
this.empForm.value.dobField = this.parserFormatter.format(this.empForm.value.Добфилд);
setValue:
this.empForm.get(‘dobField’).setValue(this.parserFormatter.parse(this.empForm.value.Добфилд));