En Angular 6, aplico el selector de fechas con una clase bsDaterangepicker para un rango de fechas.

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

Y emitir el valor con la siguiente función y emisor:

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

El problema es que el formato de la fecha emitida no es "aaaa-MM-dd", sino una cadena 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)]

¿Cómo puedo emitir el valor de la fecha en formato "aaaa-MM-dd"?

1
tolga 10 may. 2019 a las 14:09

3 respuestas

La mejor respuesta

Puede usar una fecha como esta:

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

Para más información, visite este enlace :

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

Puedes usarlo en mecanografiado también ::

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');
4
Aarsh 10 may. 2019 a las 11:14

Puede usar Date Pipe para esto.
Ejemplo:

let dateObj = Your object;

Y use la pipa como a continuación.

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

O hay una biblioteca JS llamada moment.

Puede obtenerlo en https://momentjs.com/ y siga las instrucciones para instalarlo. Y han mencionado todas las fechas de formato. Simplemente pase la cadena GMT al momento () y obtendrá el formato deseado.

1
Yvette Colomb 11 may. 2019 a las 06:00

Puede obtenerlo en https://momentjs.com/ y siga las instrucciones para instalarlo. Y han mencionado todas las fechas de formato. Simplemente pase la cadena GMT al momento () y obtendrá el formato deseado.

0
Hitesh Shukla 15 may. 2019 a las 11:04