以角度更改日期输入字段格式

时间:2018-04-18 23:34:39

标签: spring angular web-services date

我有一个编辑表单的输入字段,当我点击编辑时,它应该给我一个日期。从我的春季后期我得到一个长格式的日期,例如。 164888330000.如果我将输入类型更改为文本,我将获得日期的长值,但我希望以yyyy-mm-dd格式获取日期,因为这是我存储日期的方式。不幸的是,根据我的理解,角管不能用于输入

<label class="form-control-label" *ngIf="truckForm.get('date').invalid && processValidation"
                       [ngClass]="'error'"
                       for="purchasedDate">date is required.</label>
                <input formControlName="date"
                       id="purchasedDate"
                       class="form-control"
                       type="date"
                       name="purchasedDate"
                       [(ngModel)]="truck.purchasedDate"/><strong>Purchased Date</strong>
              </div

我在组件类中使用formGroup。有没有办法在UI显示之前将日期转换为我想要的格式?在angular.js中可以使用新的日期(长)并转换它,但我不知道如何在角度4中实现这一点

  @Input() truck: Truck;
 truckForm = new FormGroup({
    truckCode: new FormControl('', Validators.required),
    date: new FormControl('', Validators.required),
    descriptions: new FormControl('', Validators.required)
  });
 processForm() {

    this.processValidation = true;
    if (this.truckForm.invalid) {
      return; //Validation failed, exit from method.
    }

    // if we are here then all good
    this.preProcessConfigurations()

    let truckCode = this.truckForm.get('truckCode').value.trim();
    let date = this.truckForm.get('date').value.trim();
    let description = this.truckForm.get('descriptions').value.trim();

    //this.dateString = new Date(this.truck.purchasedDate);

    let truck = new Truck(this.truck.truckId, truckCode, date , description);

    this.truckService.updateTrucks(truck).subscribe(successCode => {
      this.statusCode = successCode;
      this.router.navigate(['/trucks']);
    }, errorCode => this.statusCode = errorCode);


  }

这是一个更新功能,所以我希望以yyyy-mm-dd格式收到日期,有关如何实现这一目标的任何帮助吗?

1 个答案:

答案 0 :(得分:0)

我不确定您在寻找什么,但是,如果您使用json,则可以在spring的Date属性中使用注释@JsonFormat (pattern = "yyyy-MM-dd")对其进行格式化。

@JsonFormat(pattern = "yyyy-MM-dd")
private Date date;