Формат даты в Bootstrap Выбор даты в Angular 6 - PullRequest
1 голос
/ 10 мая 2019

В Angular 6 я применяю средство выбора даты с классом bsDaterangepicker для диапазона дат.

<input type="text" (ngModelChange)="dateFilterChanged($event)" [(ngModel)]="myDateField" value="{{ myDateField | date:'yyyy-MM-dd' }}" [bsConfig]="{dateInputFormat: 'yyyy-MM-dd'}" bsDaterangepicker>

и передайте значение с помощью следующей функции и эмиттера:

dateFilterChanged(filterValue: string) {
    console.log('filterValue', filterValue);
    this.dateFilterChanged.emit(filterValue)
}

Проблема в том, что формат отправляемой даты не "гггг-ММ-дд", а строка gmt:

[Wed May 01 2019 14:04:12 GMT+0300 (GMT+03:00), Sat Jun 15 2019 14:04:12 GMT+0300 (GMT+03:00)]

Как получить значение даты в формате "гггг-мм-дд"?

Ответы [ 3 ]

4 голосов
/ 10 мая 2019

Вы можете использовать конвейер даты следующим образом:

{{ value_expression | date [ : format [ : timezone [ : locale ] ] ] }}

Для получения дополнительной информации перейдите по этой ссылке:

https://angular.io/api/common/DatePipe

Вы также можете использовать его в машинописи ::

import { DatePipe } from '@angular/common';

constructor(private datePipe: DatePipe,){
}
// in your function 
 element.last_assessment_date = this.datePipe.transform(element.last_assessment_date, 'yyyy-MM-dd');
1 голос
/ 11 мая 2019

Для этого вы можете использовать Date Pipe.
Пример:

let dateObj = Your object;

И используйте трубу, как показано ниже.

{{ dateObj | date }} // output is 'Jun 15, 2015'

Или есть библиотека JS под названием момент.

Вы можете получить это от https://momentjs.com/ и следовать инструкциям, чтобы установить его. И они упомянули все даты форматирования. Просто передайте строку GMT в moment (), и вы получите желаемый формат.

0 голосов
/ 15 мая 2019

Вы можете получить это от https://momentjs.com/ и следуйте инструкциям для его установки. И они упомянули все даты форматирования. Просто передайте строку GMT в moment (), и вы получите желаемый формат.

...