使用 ngx-datepicker 更改 [(ngModel)] 上的日期格式
Changing date format on [(ngModel)] using ngx-datepicker
我有一个记录出生日期的 Web 表单。我使用 ngx-bootstrap
version: 2.0.2 datepicker 模块执行此操作。
我有一个 API 只接受 MM-dd-yyyy
格式的日期值。我的挑战是塑造这个日期值,以便我可以将它发送到 API。
这是我目前尝试过的方法:
使用 bsConfig
如下:
ngOnInit() {
this.bsConfig = {
containerClass: 'theme-red',
dateInputFormat: 'MM-dd-yyyy'
};
}
这是我的 html 输入:
<input class="form-control"
type="text" bsDatepicker
[bsConfig]="bsConfig"
placeholder="Date of Birth"
[(bsValue)]="participant.dob" value="{{ participant.dob | date:'yyyy-MM-dd' }}"
name="dob"
[(ngModel)]="participant.dob"
#dob="ngModel">
当我 select 来自日期选择器的日期时,我看到日期是我在 ngOnInit 中设置的格式。但是,实际日期值为 { "dob": "2018-06-07T16:53:52.000Z" }
。这是我发送到 API 的日期。因此,它不起作用。正如我上面提到的,我需要发送到 API 的日期格式必须是 MM-dd-yyyy
格式。
我如何塑造这个捕获的日期格式,以便我可以将这个值发送到我的 API?
在将日期发送到 API 之前,请使用 formatDate()
对其进行转换。
别忘了导入它:import { formatDate } from '@angular/common';
constructor(@Inject(LOCALE_ID) private locale: string) {}
myDate;
bsConfig;
ngOnInit() {
this.bsConfig = {
containerClass: 'theme-red',
dateInputFormat: 'MM-dd-yyyy'
};
}
sendDataToApi() {
const date = formatDate(this.myDate, this.bsConfig.dateInputFormat, this.locale);
howeverImSendingDataToApi(whateverData, date);
}
我有一个记录出生日期的 Web 表单。我使用 ngx-bootstrap
version: 2.0.2 datepicker 模块执行此操作。
我有一个 API 只接受 MM-dd-yyyy
格式的日期值。我的挑战是塑造这个日期值,以便我可以将它发送到 API。
这是我目前尝试过的方法:
使用 bsConfig
如下:
ngOnInit() {
this.bsConfig = {
containerClass: 'theme-red',
dateInputFormat: 'MM-dd-yyyy'
};
}
这是我的 html 输入:
<input class="form-control"
type="text" bsDatepicker
[bsConfig]="bsConfig"
placeholder="Date of Birth"
[(bsValue)]="participant.dob" value="{{ participant.dob | date:'yyyy-MM-dd' }}"
name="dob"
[(ngModel)]="participant.dob"
#dob="ngModel">
当我 select 来自日期选择器的日期时,我看到日期是我在 ngOnInit 中设置的格式。但是,实际日期值为 { "dob": "2018-06-07T16:53:52.000Z" }
。这是我发送到 API 的日期。因此,它不起作用。正如我上面提到的,我需要发送到 API 的日期格式必须是 MM-dd-yyyy
格式。
我如何塑造这个捕获的日期格式,以便我可以将这个值发送到我的 API?
在将日期发送到 API 之前,请使用 formatDate()
对其进行转换。
别忘了导入它:import { formatDate } from '@angular/common';
constructor(@Inject(LOCALE_ID) private locale: string) {}
myDate;
bsConfig;
ngOnInit() {
this.bsConfig = {
containerClass: 'theme-red',
dateInputFormat: 'MM-dd-yyyy'
};
}
sendDataToApi() {
const date = formatDate(this.myDate, this.bsConfig.dateInputFormat, this.locale);
howeverImSendingDataToApi(whateverData, date);
}