Bootstrap 中的日期格式 Angular 中的日期选择器 6

Date format in Bootstrap Date Picker in Angular 6

在 Angular 6 中,我将带有 bsDaterangepicker class 的日期选择器应用于日期范围。

<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)
}

问题是,发出日期的格式不是 "yyyy-MM-dd",而是 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)]

如何以 "yyyy-MM-dd" 格式发出日期值?

您可以像这样使用日期管道:

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

有关详细信息,请访问此 link:

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');

您可以为此使用日期管道。
示例:

let dateObj = Your object;

并像下面这样使用管道。

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

或者有一个叫做moment.js的库。

您可以从 https://momentjs.com/ 获取并按照说明进行安装。他们提到了所有格式日期。只需将 GMT 字符串传递给 moment() 即可获得所需的格式。

您可以从 https://momentjs.com/ 获取并按照说明进行安装。他们提到了所有格式日期。只需将 GMT 字符串传递给 moment() 即可获得所需的格式。