gpt4 book ai didi

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

转载 作者:行者123 更新时间:2023-12-02 02:21:14 24 4
gpt4 key购买 nike

我有一个优惠券系统,其中java中的优惠券bean具有date.sql startDate和endDate。在 Angular 中,优惠券模型的构造函数中有 startDate:Date 和 endDate:Date 。当我在网站上显示它时,它显示为 2019 年 7 月 30 日(以我的本地语言),因此当我单击购买按钮时,我在控制台中收到错误消息:无法反序列化 java.sql.Date 类型的值(来自字符串“ֳ—ֳֵ—ֲֳ—ֲ¥ 13, 1991”):不是有效的表示形式(错误:无法解析日期值 'ֳ— ֵ⁄ֳ—ֲֳ—ֲ¥ 13, 1991': 无法解析日期“ֳ—ֳֵ—ֲֳ—ֲ¥ 13, 1991”:与任何标准形式不兼容(“yyyy-MM-dd'T'HH” :mm:ss.SSSZ", "yyyy-MM-dd'T'HH:mm:ss.SSS", "EEE, dd MMM yyyy HH:mm:ss zzz", "yyyy-MM-dd")) 在[来源:(org.glassfish.jersey.message.internal.ReaderInterceptorExecutor$UnCloseableInputStream);行:1,列:73](通过引用链:beans.Coupon[“startDate”])

我尝试用管道显示它- {{value |日期:'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;

我想我无法购买优惠券,因为它使用字符串值创建 JSON,而不是像服务器期望接收的那样 yyyy-MM-dd。

最佳答案

如果我理解正确的话,错误来自您的 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);
}
}

关于java - Angular向java发送错误的日期格式并且无法在表中创建对象,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57274730/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com