繁体   English   中英

javascript 日期到 java.time.LocalDate

[英]javascript date to java.time.LocalDate

我正在尝试将 json 数据发布到 Java 中的控制器。

这是我的控制器:

@ResponseBody
    @RequestMapping(value="/{schoolId}", method=RequestMethod.POST)
    public ClassGroupDTO addClassGroup(@RequestBody ClassGroupDTO classgroup, @PathVariable Integer schoolId) {
        return partyService.addClassGroup(classgroup, schoolId);
    }

这是 ClassGroupDTO

    public class ClassGroupDTO extends PartyDTO {
    private PartyDTO titular;
    private SiteDTO site;
    @JsonDeserialize(using = LocalDateDeserializer.class)
    private LocalDate startDate;
    @JsonDeserialize(using = LocalDateDeserializer.class)
    private LocalDate endDate;
...
}

我正在使用杰克逊 2.4.3。

给定字段 startDate 或 endDate 时,我无法发布数据。 我已经尝试了几种格式来发布。 (我正在使用moment.js)

data.startDate = moment().toDate();
data.startDate = moment().toJSON();
data.startDate = moment().format("YYYY/MM/DD");

每次我收到错误请求错误时。 当我省略 startDate 或 endDate 时,数据将被发布并触发控制器。

如何将 javascript 日期反序列化为 java.time.LocalDate?

我遇到了同样的问题,使用以下方法解决了它:

var dateString = new Date().toISOString().substring(0,10);

或者

var dateString = new Date().toISOString().split("T")[0];

转换为 ISO 字符串(“2015-10-14T09:39:49.942Z”),然后只保留前十个字符,即日期。

由于您使用的是 moment,因此有一种简单的方法可以实现:

let startDate = moment().toISOString();

这将转换为有效的 LocalDateTime 格式

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM