首页 > 解决方案 > @JsonFormat(shape = JsonFormat.Shape.STRING, pattern = "MM/dd/yyyy HH:mm") 添加年初至今

问题描述

我必须在我的 rest api 请求中将我的日期格式化为某种特定的格式。为此,我使用 @JsonFormat 作为@JsonFormat(shape = JsonFormat.Shape.STRING, pattern = "MM/dd/yyyy HH:mm"). 我面临一个问题,如果将日期指定为“13/24/2018 10:23”,它将转换为“01/24/2019 10:23”,即增加一年。我的要求是它给出的错误我们在几个月内给出超过 12 个。

标签: javadatejackson

解决方案


尝试使用它:

@JsonFormat(shape = JsonFormat.Shape.STRING, pattern = "MM/dd/yyyy HH:mm", lenient = OptBoolean.FALSE)

我把lenient属性放到false关于这个属性的 java doc 中:

指示是否应启用或禁用“宽松”处理的属性。这主要与一些文本数据类型的反序列化有关,尤其是日期/时间类型。

请注意,底层默认设置取决于数据类型(或更准确地说是反序列化器):对于大多数日期/时间类型,默认设置是启用宽大处理。

自杰克逊以来,您应该拥有此属性2.9


推荐阅读