首页 > 解决方案 > Spring 中的 @DateTimeFormat 返回前一天

问题描述

我有一个方法,它有一个用@DateTimeFormat 注释的参数。

public static void exampleMethod(@ApiParam(value = "date", required = true)
                                 @DateTimeFormat(iso = DateTimeFormat.ISO.DATE) Date date) {...}

当它获得“2021-10-12”时,由于某种原因,日期变量包含“Mon Oct 11 23:00:00 MSK 2021”。我的请求没有任何时间,但我得到的是前一个日期,总是 23:00:00。

我真的需要在Date这里使用数据类型,那么可以做些什么来解决这个问题呢?

提前致谢。

标签: javaspringspring-bootdatedatetime

解决方案


如果有人遇到过这个问题,我设法同时使用java.sql.Date(因为它是 的子类java.util.Date)和@JsonFormat注释来解决它:

public static void exampleMethod(@ApiParam(value = "date", required = true)
                                 @JsonFormat(pattern="yyyy-MM-dd") Date date) {...}

推荐阅读