Мы хотим добавить дни к текущей дате и отформатировать ее особым образом. Это было решено в Groovy 2.4.13, и следующие манипуляции с датами работают нормально:
today = new Date()+90;today.format('yyyy-MM-dd HH:mm:ss.S');
Результат: 2019-12-02 08: 07: 15.294
В Groovy 2.5.4 то же самоеВыражение выдает это исключение:
groovy.lang.MissingMethodException: Нет сигнатуры метода: java.util.Date.plus () применим для типов аргументов: (целочисленные) значения: [90] Возможные решения: parse (java.lang.String), split (groovy.lang.Closure), использование ([Ljava.lang.Object;), is (java.lang.Object), wait (), clone () в Script1.run(Script1.groovy: 3)
Мне удалось воспроизвести это поведение в "Groovy sandboxes" онлайн:
Работает нормально здесь: Groovy-Playground (Версия 2.4.1.5) Сбой здесь: groovyconsole (Версия 2.5.7)
Какая рабочая альтернатива в этом случае? Я читал о новом API даты, но не смог найти подробности о том, как его использовать, с манипулированием датой (например, + 90 дней).