当前位置: 首页 > 知识库问答 >
问题:

Angular向java发送错误的日期格式,表中无法创建对象

黄丰
2023-03-14

我有一个优惠券系统,其中java中的优惠券bean有一个date.sql startDate和enddate。在angular中,优惠券模型在其构造函数中有startDate:date和endDate:date。当我在网站上显示它时,它显示为2019年7月30日(用我的本地语言),所以当我单击purchase按钮时,控制台中出现一个错误:无法从字符串“-13,1991”反序列化java.sql.Date类型的值:无效表示(错误:无法解析日期值“-13,1991”:无法解析日期“-13,1991”:与任何标准表单(“YYYY-MM-DD't'hh:mm:ss.ssz”、“YYYY-MM-DD't'hh:mm:ss.sssz”、“YYYY-MM-DD't'hh:mm:ss.ssss”、“EEE,dd MMMYYYY”)不兼容y hh:mm:ss zzz“,”yyyy-mm-dd“))在[源:(ag.glassfish.jersey.message.internal.readerInterceptorRexecutor$UncloseBleInputStream);行:1,列:73](通过引用链:beans.coupon[”startdate“])

我试过用管道显示它-{{value date:'yyyy-mm-dd'}}但是这样,我甚至不能再在网站上显示它了。


 </tr>
    <tr *ngFor="let c of coupons">

      <td>{{c.startDate}}</td>
      <td>{{c.endDate}}</td>
      <td>{{c.amount}}</td>
     coupon model:

    public constructor(
        public id?:number,public title?:string,public message?:string,public image?:string,public startDate?:Date,
        public endDate?:Date,public amount?:number,public price?:number,public type?:Coupontypes){}

}

Java
private Date startDate, endDate;

我想我不能购买优惠券,因为它使用html" target="_blank">字符串值创建JSON,而不是像服务器期望的那样使用yyyy-MM-dd。

共有1个答案

全流觞
2023-03-14

如果我没有理解错的话,错误来自您的Java程序。您正在以它不期望的格式发送日期值。更改在html中查看日期的方式不会更改实际值。如果您正在使用Angular 6+,您可以执行以下操作将日期转换为所需的格式

    import { formatDate } from '@angular/common';

    class MyService {

      constructor(@Inject(LOCALE_ID) private locale: string) {}

      transformDate(date) {
        return formatDate(date, 'yyyy-MM-dd', this.locale);
      }
    }
 类似资料:
  • 问题内容: 我正在使用角度以这种格式显示日期 如何显示像 使用角 有没有使用Angular JS-的直接方法(我可以使用普通的jQuery) 问题答案: 使用日期的角度过滤器。 请参阅以下链接。 http://docs.angularjs.org/api/ng.filter:date

  • 问题内容: 我在解析我的代码中的平面文件后,试图转换作为文件存在于平面文件中的String 值。 我已经写了代码来做到这一点,但是当我格式化日期时,它总是给我一个指定日期超过1天的日期,有时它会加5:30。 以下是该代码: 上面的输出是 您能告诉我这里是什么问题吗?我在课堂上使用的模式有问题吗?还是代码有问题?我已经为此挠了很久。 问题答案: 您的系统时区不同。输出显示IST-或印度标准时间,与P

  • 问题内容: 我想将我的PHP服务器时间传递给我的JavaScript文件。 PHP代码: JavaScript: PHP代码返回2012年3月18日星期日12:01:23 +0800,这是澳大利亚/珀斯的正确时间。但这会返回无效的JavaScript日期对象。 当我尝试将其转换为时间戳时: 我得到了JavaScript日期2012年3月18日,星期日04:03:14 GMT + 0000(WET)

  • 我有这个格式的日期(2012-11-17T00:00:00.000-05:00)。我需要将日期转换成这种格式MM/YYYY。 我试过这个方法,但我得到了这个例外。 请看下面我的代码:

  • 输出字符串: 02/04/2014 现在我需要以相同的方式格式化日期(“02/04/2014”)。

  • 我有一个使用Spring MVC和Thymeleaf的项目。我需要根据每个用户的偏好,用不同的格式显示日期。例如,用户A希望显示类似MM/dd/yyyy的日期,而用户B希望显示类似dd/MM/yyyy-y的日期。 为此,我使用以下thymeleaf参数: 值“dateFormat”基于用户首选项。这很好。 我的问题是日期输入在一个表单中,当我提交表单时,它没有采用好的格式。我总是得到MM/dd/y