在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”格式的日期值?
答案 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(),您将获得所需的格式。