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

时间:2019-05-10 11:09:05

标签: javascript angular bootstrap-4 ngx-bootstrap

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

问题是,发出日期的格式不是“ 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”格式的日期值?

3 个答案:

答案 0 :(得分:4)

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

{{ 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 :(得分:1)

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

let dateObj = Your object;

并使用如下所示的管道。

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

或者有一个称为moment的JS库。

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

答案 2 :(得分:0)

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