“日期格式有误” Angular 10 Rest Django

问题描述

嗨,我是这两个框架的新手,需要您的帮助!

所以我将Rest Django用于后端,将Angular用于Frontent,我还将Angular材料用于DatePicker,尽管我将日期的格式从YYYY-MM-DD更改为DatePicker,但仍然收到错误消息“日期格式错误。请改用以下格式之一:YYYY-MM-DD。”发送api时由服务器发送!

要更改Angular中的日期格式,我将这段代码用于app.module

import { DateAdapter,MAT_DATE_FORMATS,MAT_DATE_LOCALE } from '@angular/material/core';
import { MomentDateModule,MomentDateAdapter } from '@angular/material-moment-adapter';

export const DateFormats = {
            parse: {
                dateInput: ['YYYY-MM-DD']
            },display: {
                dateInput: 'YYYY-MM-DD',monthYearLabel: 'MM YYYY',dateA11yLabel: 'LL',monthYearA11yLabel: 'MM YYYY',},};
providers: [
          { provide: DateAdapter,useClass: MomentDateAdapter,deps: [MAT_DATE_LOCALE] },{ provide: MAT_DATE_FORMATS,useValue: DateFormats }
  ],

在console.log('date',this.date)之后查看我收到的日期选择器输入的日期对象

date 
{…}
​
_d: Date Tue Aug 18 2020 00:00:00 GMT+0100 (UTC+01:00)
​
_i: Object { year: 2020,month: 7,date: 18 }
​
_isAMomentObject: true
​
_isUTC: false
​
_isValid: true
​
_locale: Object { _calendar: {…},_longDateFormat: {…},_invalidDate: "Invalid date",… }
​
_pf: Object { empty: false,overflow: -1,charsLeftOver: 0,… }
​
<prototype>: Object { add: createAdder(val,period),calendar: calendar$1(time,formats),clone: clone(),… }

你知道我该如何解决这个问题?

解决方法

您应该创建一个方法来修剪您的日期,删除时区和其他通知,然后在您的日期输入字段中调用该方法 像这样的东西 yourDateApp.component.ts 文件

trimDate(myDate){
  let strDate = JSON.stringfy(myDate.value)
  let newDate = strDate.substring(1,11)
  //assign the new trimmed date to date value in ur form
  yourForm.controls['date_field'].setValue(newDate)
}

您的DateApp.component.html 文件 //像这样在html文件中调用你的函数

<input matInput (dateChange)="trimDate($event)">

这将接受将日期修剪为 django 可以识别它的方式

相关问答

依赖报错 idea导入项目后依赖报错,解决方案:https://blog....
错误1:代码生成器依赖和mybatis依赖冲突 启动项目时报错如下...
错误1:gradle项目控制台输出为乱码 # 解决方案:https://bl...
错误还原:在查询的过程中,传入的workType为0时,该条件不起...
报错如下,gcc版本太低 ^ server.c:5346:31: 错误:‘struct...