【发布时间】:2020-03-20 19:49:35
【问题描述】:
我遇到了从前端接收日期的问题。
我以"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
}
【问题讨论】:
-
您必须在 ISO 中格式化日期。看看这里:stackoverflow.com/questions/948532/…
-
谢谢,但后端确实有问题
-
您得到了正确的时间点(只是表达方式不同,转换为 UTC)。没有减去两个小时。也许您想改为传递
LocalDate。这是一个没有时区或偏移量且没有时间的日期,例如2020-01-03,所以时间不可能是错误的。 -
有没有办法使用 Moment .js lib 传递 LocalDate?
-
我如何将它转换为 ZDT 到这个值:2020-01-03T00:00Z[UTC]?我只需要 ZDT 对象的主要问题
标签: javascript java spring timezone-offset zoneddatetime