Tengo una pregunta. Si tengo un selector de fecha que me devuelve datos como este:
¿Cómo puedo convertir este resultado en una fecha de tipo ISO? para que pueda almacenarse en MongoDB.
Este es el código de la parte html.
<form class="row row-cols-sm-auto" [formGroup]="dateForm" (submit)="Date()"> <div class="col-md-6 col-lg-3 col-xlg-3"> <div class="input-group"> <input class="form-control" readonly formControlName="date" name="dp" [(ngModel)]="model" ngbDatepicker #d="ngbDatepicker"> <button class="btn btn-primary btn-sm" (click)="d.toggle()" type="button"> Date </button> </div> </form>Esta es la parte mecanografiada:
ngOnInit(): void { this.dateForm = this.fb.group({ date: ['', Validators.required] }) } Date(){ const { date } = this.dateForm.value console.log(date) }Gracias por adelantado.
Simplemente agregue toISOString() a su propiedad de objeto desestructurado llamada date arriba:
Ejemplos como en la documentación de MDN :
const event = new Date('05 October 2011 14:48 UTC'); console.log(event.toString()); // expected output: Wed Oct 05 2011 16:48:00 GMT+0200 (CEST) // (note: your timezone may vary) console.log(event.toISOString()); // expected output: 2011-10-05T14:48:00.000ZSiempre puede usar la función toISOString para convertir su fecha en formato ISO . También intente cambiar la palabra clave const al tipo de fecha. Date.toISOString()
De acuerdo con los documentos oficiales de ng-bootstrap, debe configurar un servicio NgbDateAdapte y proporcionarlo:
Los documentos proporcionan un buen ejemplo de cómo hacerlo.
@Injectable() export class CustomDateParserFormatter extends NgbDateParserFormatter { readonly DELIMITER = '/'; parse(value: string): NgbDateStruct | null { if (value) { const date = value.split(this.DELIMITER); return { day : parseInt(date[0], 10), month : parseInt(date[1], 10), year : parseInt(date[2], 10) }; } return null; } format(date: NgbDateStruct | null): string { return date ? date.day + this.DELIMITER + date.month + this.DELIMITER + date.year : ''; } }(no olvide proporcionarlo en su aplicación raíz)