Angular ngx引导程序&x27;s被动形式的日期选择器格式值

Angular ngx引导程序&x27;s被动形式的日期选择器格式值,angular,ngx-bootstrap,Angular,Ngx Bootstrap,我正在使用以下示例: 正如您看到的,{Form.value}}对于'date'的值的格式是“date”:“2017-10-14T17:38:53.000Z”,例如,如何将其更改为“14/10/2017”,因为该格式没有通过我的 正则表达式验证 我尝试过使用这个代码示例,也阅读了所有关于DatePicker模块的文档,但我不知道怎么做 您可以使用普通的javascript日期格式方法。选择日期时,触发事件并格式化日期。最后将格式化日期设置为 formControlName 例如: dateFor

我正在使用以下示例:

正如您看到的,{Form.value}}对于'date'的值的格式是“date”:“2017-10-14T17:38:53.000Z”,例如,如何将其更改为“14/10/2017”,因为该格式没有通过我的 正则表达式验证


我尝试过使用这个代码示例,也阅读了所有关于DatePicker模块的文档,但我不知道怎么做

您可以使用普通的
javascript
日期格式方法。选择日期时,触发事件并格式化日期。最后将格式化日期设置为
formControlName

例如:

dateFormat("Fri Dec 01 2017 14:41:37 GMT+0530 (India Standard Time)");

dateFormat(date:any){
    let date = new Date(date),
    let month = ("0" + (date.getMonth()+1)).slice(-2),
    let day  = ("0" + date.getDate()).slice(-2);
    let formattedDate=[day,month,date.getFullYear()].join("/");
    this.formName.patchValue({
      date:formattedDate }) 
}

此解决方案用于以反应形式使用的ngx daterangepicker,并为daterange picker设置basevalue

this.detailForm.controls['range'].setValue([new Date(this.projectData.startDate),new Date(this.projectData.endDate)]

要保存数据,请使用以下命令:

if(this.detailForm.get('range').value){
this.projectData.startDate=this.datepipe.transform(this.detailForm.value.range[0],DateFormat.YYYY\u MM\u DD);
this.projectData.endDate=this.datepipe.transform(this.detailForm.value.range[1],DateFormat.YYYY\u MM\u DD);

}

这个问题帮助我解决了与您面临的问题相同的问题。

它基本上是说,对于对象(在您的示例中,值为“2017-10-14T17:38:53.000Z”的“日期”),您可以使用名为.toLocaleDateString()的方法,因为您的对象是日期类型

附言:我刚刚意识到是你在github上制造了这个问题(lol),无论如何,我会在这里给出我的答案以帮助其他人:)

赛亚