我已经遇到了从前端接收日期的问题。我从前端以"2020-01-03T00:00:00+02:00"
格式将日期发送到后端的ZonedDateTime
对象。但是我收到的不是2020-01-03T00:00Z[UTC]
,而是2020-01-02T22:00Z[UTC]
(精确地减去2小时)。
问题:
是否有任何方法可以使ZonedDateTime库不转换为UTC或不减时区?也许有注释?
控制器和对象简单代码示例
来自前端的对象:
@DIfferentsLombokAnnotations
public class Filters {
private ZonedDateTime startDate;
//Other fields
}
控制器:
@PostMapping("/ggg")
public List<ResponceObject> method(@RequestBody Filters filters) {
//any code
}
ZonedDateTime仅支持UTC或UTC + 2,这将解释您为什么获得结果。一种选择是代替发送ZonedDateTime,而是发送LocalDate,LocalTime,ZoneId,ZoneOffset,然后在后端解析为ZonedDateTime。归根结底,一个ZonedDateTime已经由这些组件组成。