在 Angular 中转换更新 CRUD 表单日期

Convert Update CRUD Form Date in Angular

当我在 Angular 中创建 CRUD 表单时选择日期 3/2/2021 时,它会作为 2021-03-02T00:00:00.000+00 传递给 mongodb: 00,然后在我的更新 CRUD 表单上显示为 2021-03-02T00:00:00.000Z。如何将其转换为 'M/d/yyyy'?

(关于我的详细信息 table 我可以使用日期管道 {{risk.submission_date | 日期:'M/d/yyyy'}} 执行此操作,但不能在更新表单上执行此操作,因为我使用

编辑每个特定的 ID。)

 this.crudService.GetRisk(this.getId).subscribe(res => {
      this.updateForm.setValue({ 
        submission_date: res['submission_date'],
        ...
        
this.updateForm = this.formBuilder.group({
      submission_date: ['', Validators.required],
      ...
<div class="card-body widget-body">
  <form [formGroup]="updateForm" (ngSubmit)="onUpdate()">
    <div class="form-group">
      <label for="input-12">Submission Date</label>
      <input type="text" class="form-control form-control-sm checking-field" formControlName="submission_date" required disabled>
      <span class="help-block text-danger" *ngIf="updateForm.get('submission_date').touched && updateForm.get('submission_date').hasError('required')">Date is required</span>                              
</div>
...

从服务获取数据后,您可以先格式化日期字符串,然后再将其设置到表单中。您可以为此使用 momentjs 这样的库。

import moment from 'moment';
...
this.crudService.GetRisk(this.getId).subscribe(res => {
      this.updateForm.setValue({ 
        submission_date: moment(res['submission_date']).format('YYYY/MM/DD'),
        ...
moment('2021-03-02T00:00:00.000Z').format('YYYY/MM/DD'); // => 03/02/2021