0

在这里,我将 ngx-bootstrap datepicker 与 DatePipe 一起使用

如何在单击提交时将 DATE-FORMAT 从 DD-MM-YYYY 转换为 YYYY-MM-DD

*我的模板 - component.html

 <input type="text"
                   placeholder="FromDate"
                   class="form-control"
                   placement="top"
                   formControlName="fromDate"  [bsConfig]="{ dateInputFormat: 'DD-MM-YYYY' }"
                   bsDatepicker style="padding: 16px">

组件.ts

ngOnInit() {
    this.LicenseDistributionForm.controls['toDate'].setValue(this._datePipe.transform(this.today, 'dd-MM-yyyy'));

this.LicenseDistributionForm.controls['fromDate'].setValue(this._datePipe.transform(this.firstDay, 'dd-MM-yyyy'));
    }

    submit() {
    if (!this.LicenseDistributionForm.valid) {
      this.validateAllFormFields(this.LicenseDistributionForm);
      console.log('Not valid!');
      return;
    }
    const params: any = {};

    params.fromDate = this.LicenseDistributionForm.value.fromDate;
    params.toDate = this.LicenseDistributionForm.value.toDate;


    {

    console.log('params', params);
         }
    this.organizationService.getLicenseDistributionSPDate( params.fromDate, params.toDate )
      .subscribe(licensedistributions => {
        this.licensedistributions = licensedistributions;
        console.log(licensedistributions, 'licensedistributions');
        // this.licensedistributionLoader=true;
      });
4

2 回答 2

0

使用momentjs

moment(dateDDMMYYYY, 'DD-MM-YYYY').format('YYYY-MM-DD');

您还可以对该语句应用更多验证。

var momentObj = moment(dateDDMMYYYY, 'DD-MM-YYYY', true);

if ( !momentObj.isValid() ) throw "Invalid date";

dateYYYYMMDD = momentObj.format('YYYY-MM-DD');
于 2018-06-22T10:17:37.797 回答
0

不确定您的日期管道,但我更喜欢momentjs。关注以下网址:

http://momentjs.com/docs/#/displaying/format/

于 2018-06-22T10:18:28.717 回答