后端接收 ZonedDateTime 对象的问题

Problems with ZonedDateTime object receiving on back-end

我遇到了从前端接收日期的问题。 我以 "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 已经由这些组件组成。