Angular 7 Material DatePicker 无法使用 DRF 格式化
Angular 7 Material DatePicker cannot format using DRF
我正在使用
- Angular 7.0.4
- Angular Material7.2.0
- Django 2.1.4
- Django 休息框架 3.9.0
- PostgreSQL 11.1
我正在使用响应式表单和 Material 日期选择器 (mat-datpicker) 进行简单的表单控制。
我到处搜索如何将日期选择器中的格式从 mm/dd/yyyy 更改为 yyyy-mm-dd 只是为了找出无论我将表单字段设置为什么格式,它仍然将日期发送为 date_of_birth: "yyyy-mm-ddT04:00:00.000Z"
.
我试过用以下3种方法设置字段:
date_of_birth: String = '';
date_of_birth: Date = null;
date_of_birth: moment = null;
但是所有 3 个仍然输出与上面相同的时区格式。
我正在使用 PostgrSQL,字段类型是日期字段,因为不需要时间。
我不确定为什么它会忽略日期选择器中显示的格式。所以我的最终目标只是以 YYYY-MM-DD 格式发送日期。
如有任何帮助,我们将不胜感激。
我想通了。就像解决方案一样简单,遗憾的是我没有找到这样的东西。我是 angular 的新手,但我认为这对于像这样简单的事情会有很好的记录。
您必须在保存表单时更新字段。例如,在我的 onFormSubmit() 方法中,我在将字段发送到我的 API 服务之前使用了 moment 来更新字段,就像这样
onFormSubmit() {
const result = this.patientForm.value;
result.date_of_birth = moment(result.date_of_birth).format('YYYY-MM-DD');
this.serviceName.addUser(result).subscribe();
}
我希望这能帮助其他和我一样挣扎的人。
我正在使用
- Angular 7.0.4
- Angular Material7.2.0
- Django 2.1.4
- Django 休息框架 3.9.0
- PostgreSQL 11.1
我正在使用响应式表单和 Material 日期选择器 (mat-datpicker) 进行简单的表单控制。
我到处搜索如何将日期选择器中的格式从 mm/dd/yyyy 更改为 yyyy-mm-dd 只是为了找出无论我将表单字段设置为什么格式,它仍然将日期发送为 date_of_birth: "yyyy-mm-ddT04:00:00.000Z"
.
我试过用以下3种方法设置字段:
date_of_birth: String = '';
date_of_birth: Date = null;
date_of_birth: moment = null;
但是所有 3 个仍然输出与上面相同的时区格式。
我正在使用 PostgrSQL,字段类型是日期字段,因为不需要时间。
我不确定为什么它会忽略日期选择器中显示的格式。所以我的最终目标只是以 YYYY-MM-DD 格式发送日期。
如有任何帮助,我们将不胜感激。
我想通了。就像解决方案一样简单,遗憾的是我没有找到这样的东西。我是 angular 的新手,但我认为这对于像这样简单的事情会有很好的记录。
您必须在保存表单时更新字段。例如,在我的 onFormSubmit() 方法中,我在将字段发送到我的 API 服务之前使用了 moment 来更新字段,就像这样
onFormSubmit() {
const result = this.patientForm.value;
result.date_of_birth = moment(result.date_of_birth).format('YYYY-MM-DD');
this.serviceName.addUser(result).subscribe();
}
我希望这能帮助其他和我一样挣扎的人。