@JsonFormat(форма = JsonFormat.Форма.СТРОКА, шаблон = «ММ / дд / гггг ЧЧ: мм») добавление года к дате

#java #date #jackson

#java #Дата #джексон

Вопрос:

Я должен отформатировать свою дату в какой-то определенный формат в моем запросе rest api. Для этого я использую @JsonFormat как @JsonFormat(shape = JsonFormat.Shape.STRING, pattern = "MM/dd/yyyy HH:mm") . Я столкнулся с такой проблемой, что если я указываю дату как «24.03.2018 10:23», она преобразует ее в «24.01.2019 10:23», то есть добавляет год. Мое требование заключается в том, что он выдает ошибку, которую мы даем более 12 месяцев.

Комментарии:

1. Привет, я хочу, @JsonFormat чтобы аннотация была написана не на простой Java. Вы используете Джексона? Если это так, я бы отредактировал ваш вопрос и добавил к нему тег Джексона.

Ответ №1:

Попробуйте использовать его:

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

Я поместил lenient свойство в false java-документ об этом свойстве:

Свойство, указывающее, следует ли включать или отключать «мягкую» обработку. Это актуально в основном для десериализации некоторых текстовых типов данных, особенно типов даты / времени.

Обратите внимание, что базовая настройка по умолчанию зависит от типа данных (или, точнее, от десериализатора для него): для большинства типов даты / времени по умолчанию включена снисходительность.

У вас должно быть это свойство со времен Джексона 2.9