【发布时间】:2017-12-29 10:43:01
【问题描述】:
FilmEvent.java
import java.util.Date;
@AllArgsConstructor(access=AccessLevel.PUBLIC)
public class FilmEvent {
@Getter
private String id;
@Getter
@JsonFormat(shape=JsonFormat.Shape.STRING, pattern="yyyy-MM-dd,HH:mm", timezone="CET")
private Date date;
@Getter
private String[] attributes;
@Getter
private boolean soldOut;
}
我的记录
FilmEvent event = new FilmEvent("334", new Date(2018,1,1,12,44), null, false);
我在 Firefox 中的结果
date:"3918-02-01,12:44"
问题是,为什么是 3918-02-01?以及如何解决它;
【问题讨论】:
-
欢迎来到 StackOverflow。请通过Tour 了解如何编辑您的问题,使其信息更丰富、更清晰,以便其他用户能够回答。详情请见:Why is “Can someone help me?” not an actual question?.
-
您正在使用已弃用已久的
Date构造函数。最好完全避免使用Date。 The modern Java date and time API known asjava.time(or JSR 310) 使用起来更好。 -
每当我需要一个具有特定值的老式
Date对象时,我都会使用Date.from(ZonedDateTime.of(2018, 1, 1, 12, 44, 0, 0, ZoneId.of("Europe/Berlin")).toInstant())。它更长,但读起来更清晰,不容易出错,并且更准确地说明了我想要和得到的东西。
标签: java rest maven date jax-rs